Course Syllabus
All dates and policies contained in the CS 1410 syllabus and Canvas course are subject to change. Students can expect to be informed immediately and clearly of any changes.
Critical Information
Instructor: Prof. Travis Martin, 3122 MEB, travis@cs.utah.edu
Class meetings
Mon, Wed, 3:00-4:20 in SW 134, led by Prof. Martin
Lab sessions
Thursdays at various times (see your class schedule), in MEB 3225, led by Teaching Assistants (TAs)
Important dates
All exams and quizzes are paper-based and administered in person:
- Quizzes: Aug 27, Sept 10, Oct 1, Oct 22, Nov 12, Nov 19 (Wednesdays), in-class.
- Midterm 1: Wed, Sept 17, in-class.
- Midterm 2: Wed, Oct 29, in-class.
- Final Exam: Fri, Dec 12 3:30-5:30, in our normal classroom.
Exams and quizzes are in-person and generally cannot be missed (full policy below). Check these dates ASAP and email me if you have any exceptional issues. Please work with the CDA to schedule
Final course grade
A student's final CS 1410 grade is comprised of:
- Programming assignments 20%
- In-class quizzes 20%
- Exams 40%,
- Labs 10%
- Weekly review 8%
- In-class polling 2%
Attendance and recordings
Due to the interactive nature of class meetings, attendance is expected. There will be in-class polling activities worth a small number of points. When not prevented by technical difficulties, class meetings are recorded. These recordings include only video of the instructor's screen, audio of the instructor, and occasionally, audio of students who ask questions. These recordings are not intended as a substitution for attending class. Furthermore, they are not of optimal quality and may not be available for every class meeting. Lab sessions on Thursdays are not recorded and attendance is expected.
Textbook
Introduction to Programming Using Java
Communication
All class announcements and student questions (public or private) take place on Piazza — sign up right away and set notifications appropriately.
Posting of course materials by students
All CS 1410 course materials belong to Prof. Martin and the University of Utah. These materials are made available to students enrolled in CS 1410 this semester. No student may post or share outside of class any materials (syllabus, lecture slides, assignment instructions, recordings, etc.) without the instructor's explicit permission. Doing so is a violation of copyright.
Course Information
CS 1410: Introduction to Object-Oriented Programing is the second course in a two course introductory sequence. It is expected that students in CS 1410 have taken CS 1400 at the University of Utah, which covers procedural programming concepts using Python. CS 1410 introduces the concepts central to object-oriented programming (OOP) using the Java programming language. Students complete extensive programming exercises that involve the application of elementary software engineering techniques. Students who did not complete CS 1400 at the University of Utah should take CS 1420 instead of CS 1410.
Fair warning
The pacing in this class is brisk. Students should be aware that not all of the topics they need to know are covered during class meetings and lab sessions. Students should spend a considerable amount of time studying and practicing course concepts outside of class.
Prerequisite and corequisite
The course prerequisite is a grade of C- or better in CS 1400, and the corequisite is Math 1060 (Trig), 1080 (Precalculus), or Calculus I. Students who do not meet the prerequisite and/or corequisite are to be removed from CS 1410 in the first week of class.
Learning objectives
Upon completion of CS 1410, students are able to:
- exploit data abstraction (classes and objects) to decompose a program into manageable pieces
- leverage inheritance and polymorphism as cornerstones of the object-oriented programming design process
- use type-independent collections from a language library to effectively solve problems
- understand the organization of common application types such as command-line programs, graphical user interfaces, and internet-based applications
- evaluate the correctness of programs via unit testing
- emphasize models, code contracts, code clarity, and documentation as integral parts of the development process
- recognize what it means to be a computing professional and apply ethical codes of conduct to various scenarios
Students can expect to achieve these outcomes only if they attend class meetings and lab sessions, as well as complete quizzes, assignments, and exams in good faith and on time. Furthermore, students may vary in their competency level on these outcomes.
Course Materials
Website
The CS 1410 Canvas course is always under development, with updates to the class schedule, course notes, provided code samples, assignment specifications, and more, occurring regularly. It is critical that students become familiar with the Canvas course right away and plan to visit it three times a week, at a minimum.
Textbook
Regular reading is assigned from the course textbook, as well as other online notes, books, and articles linked from Canvas.
Course notes
The instructor often makes use of slides, sample source code, and other materials during class. These items are posted to Canvas following the class meeting.
Laboratory practice
Lab sessions meet on Thursdays to give students guided practice applying the concepts of CS 1410. To avoid more participants than can be managed by the TA(s), students should regularly attend the lab section for which they are registered. Infrequently attending a different lab section is allowed and need not be approved by the instructor. Students should bring their own laptops or plan to borrow a laptop from the Marriott Library for the semester.
Personal computers
Students may use their own computers or ones borrowed from the library for completing assignments and taking Canvas quizzes; however, broken tools or computers, or network connectivity issues are not sufficient basis for a deadline extension. Plan ahead and use a campus lab computer if problems arise.
Java and Eclipse
All programming in CS 1410 is in Java, using the Eclipse programming environment. Both Java and Eclipse are platform-independent, and instructions for installing both on your personal computer are available on the class website.
Student Evaluation
Programming assignments
The instructions for each assignment and its due date are posted on Canvas at least one week before it must be submitted. It is the student's responsibility to ensure the successful and timely submission of each programming assignment — start early and follow the instructions carefully. Corrupted or missing files are not grounds for extensions — double-check your submissions and save a digital copy of all of your work in your College of Engineering account or some other reliable backup location.
Each assignment's deadline is followed by a two-day late period. Each student may turn in one assignment during the late period, with no penalty. This free submission is intended to accommodate unexpected issues, like minor illnesses or technical malfunctions. All further late submissions are penalized 10 points, no matter when they are turned in during the late period.
In-class quizzes
Many Wednesdays throughout the week will have an in-person quiz, during the last 15 minutes of the class period. See "Important Dates" at the top of the syllabus for these dates. These quizzes consist of short questions assessing your understanding of materials from class and assignments. They also serve as good practice for future tests.
To account for illnesses or other excused absences, one in-class quiz will be dropped from the final grade. There are no make-up opportunities for missed quizzes. If you have multiple excused issues, please contact me to discuss further.
Exams
Midterm and final exams are to be given during times listed above. The final exam will be split into three sections covering material from midterm 1, midterm 2, and the final third of the class.
To encourage continuing learning of the class topics, we allow midterm scores to be made-up if you do better on the final exam.
More specifically, If your score for the first or second section of the final exam is higher than the corresponding midterm's score, then that section's score replaces the midterm score. So, if you do poorly on a test, don't give up -- this is a great chance to discuss the test with the course staff during help hours to learn the material better, and think more about what you can do to improve your preparation and understanding for future tests.
No exam may be taken at a different time for any reason other than a medical emergency or other similar events, and documentation may be required.
Each student must bring their UCard to every exam, and they may be asked to show their UCard when turning in the exam. No other type of identification may be used for this purpose.
Weekly review quizzes
Most weeks have "weekly review" quizzes on canvas, reviewing the material covered recently in class meetings and lab, as well as preparing for an upcoming assignment. Note that these Canvas quizzes are distinguished from those used in labs, or taken in class.
Each weekly quiz's deadline is followed by a one-day late period. A late submission is penalized 10%.
Lab sessions
Each lab is comprised of a TA-led activity and a Lab Quiz, to be completed by students each Thursday.
In-class polling
Many lectures will have a small number of in-class polling activities, where you will answer questions in class on your phone or laptop. To get credit, you must use an account associated with your uID email address (uXXXXXXX@utah.edu).
The purpose of these polls is to give students a chance to apply what they're learning, not to judge understanding, and so the grading is lenient. For any particular class period, you will get full credit if you get at least 50% of the poll questions correct. And the 4 lowest scores will be dropped.
Regrades
Students desiring to appeal a score on an assignment or exam must do so via Gradescope. For any Canvas quiz, the appeal must be made via a private post to Instructors in Piazza. All such appeals are due no later than one week after the score is published.
Letter grades
The following table is used to associate numerical scores with the corresponding letter grade. Note the lack of rounding.
|
|
|
|
|
These cutoffs may be adjusted slightly if grades differ significantly from historical trends -- if so, this will be announced after the final exam is graded.
Getting Help
To get help understanding course material, students may see the Teaching Assistant(s) during TA Help Hours, see the instructor during Office Hours, or post a question to Piazza. To contact the course staff directly, use Piazza message to all Instructors — use of the Canvas Inbox or email is discouraged for CS 1410 communications. See the Instructions on how to get help page for details.
Policies and Guidelines
Laptop and mobile device policy
Students are expected to engage with the instructor and classmates during class meetings. Laptops and mobile devices are permitted for note taking; however, research has shown that handwritten note taking is more beneficial to students than typed note taking1. All CS 1410 exams require students to handwrite solutions on paper, making handwritten note taking good practice. Furthermore, laptops and mobile devices tempt students to multitask during class meetings, the success of which is wishful thinking for students who must focus in order to learn new and complex material. For these reasons, students are discouraged from using laptops and mobile devices during class except when contributing to polling questions.
ADA statement
The University of Utah seeks to provide equal access to its programs, services and activities for people with disabilities. If you need accommodations in the class, reasonable prior notice needs to be given to the Center for Disability & Access, 162 Olpin Union Building, 801-581-5020. CDA will work with you and the instructor to make arrangements for accommodations.
All written information in this course can be made available in alternative format with prior notification to the Center for Disability & Access.
Other polices and guidelines
Students are bound by the following policies and guidelines:
- CS 1410 academic misconduct policy
- School of Computing academic misconduct policy
- School of Computing policies and guidelines
- College of Engineering guidelines
- University of Utah Student Code
Students should read and understand each of these documents, asking questions as needed.
Student mental health resources
Rates of burnout, anxiety, depression, isolation, and loneliness have noticeably increased during the pandemic. If you need help, reach out for campus mental health resources, including counseling, trainings and other support.
Consider participating in a Mental Health First Aid or other wellness-themed training provided by our Center for Student Wellness and sharing these opportunities with your peers.
1Mueller, P. A. & Oppenheimer, D. M. (2014). The pen is mightier than the keyboard: Advantages of longhand over laptop note taking. Psychological Science, 25(6), 1159-1168. doi:10.1177/0956797614524581.