Course Syllabus
CS 1420 Accelerated intro. to object-oriented programming
IMPORTANT NOTE: All dates and policies contained in the CS 1420 syllabus and Canvas course are subject to change. Students can expect to be informed immediately and clearly of any changes.
Critical Information
Instructor
Prof. Heisler, 3148 MEB, eric.heisler@utah.edu
Lectures
Section 1: Mondays and Wednesdays 3:00 - 4:20 in S BEH AUD (SBS lecture hall), led by Prof. Heisler
Section 20: Mondays and Wednesdays 11:50 - 1:10 in S BEH AUD (SBS lecture hall), led by Prof. Heisler
Lab sessions
Tuesdays at various times and locations (see your class schedule), led by Teaching Assistants (TAs)
Attendance and recordings
Due to the interactive nature of lectures, attendance is expected. When not prevented by technical difficulties, lectures on Mondays and Wednesdays 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 good quality and may not be available for every lecture. Lab sessions on Tuesdays are not recorded and attendance is required.
Textbook
Introduction to Programming Using Java (Free online text)
Important dates
All exams are paper-based, administered in person, and may not be taken at other times. You must take the exam at the time for the section you are enrolled in.
- Midterm 1 is Wednesday, September 18 during the lecture time.
- Midterm 2 is Wednesday, October 30 during the lecture time.
- Final Exam (cumulative) is at a different time depending on section.
- Section 1: Thursday, December 12 3:30 - 5:30.
- Section 20: Friday, December 13 10:30 - 12:30.
Final course grade
The final CS 1420 grade is comprised of:
- exams 45%
- programming assignments 35%
- labs 10%
- weekly review quizzes 10%
Communication
All class announcements and student questions (public or private) take place on Piazza (See link in the menu to the left). Sign up right away and set notifications appropriately.
Posting of course materials by students
All CS 1420 course materials belong to Prof. Heisler. These materials are made available to students enrolled in CS 1420 this semester. No student may post or share outside of class any materials (syllabus, lecture slides, assignment instructions, recordings, etc.) without the instructors' explicit permission. Doing so is a violation of copyright.
Course Information
Co-requisite
The course co-requisite is MATH 1060 or MATH 1080 (or higher math). Students who do not meet this requirement are to be removed from CS 1420 in the first week of class.
Learning objectives
Upon completion of CS 1420, students are able to:
- use variables, assignment, selection, repetition, and arrays to form solutions to simple problems
- exploit procedural abstraction (non-recursive and recursive methods) and 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
- understand the organization of common application types such as command-line programs and graphical user interfaces
- leverage the features of an Integrated Development Environment to design, implement, test, debug, and document a complete computer program, given only a problem statement
- emphasize 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 lectures and lab sessions, as well as complete Canvas quizzes, assignments, and exams in good faith and on time. Furthermore, students may vary in their competency level on these outcomes.
CS 1420: Accelerated Introduction to Object-Oriented Programing covers the material of CS 1400 and CS 1410 in a single semester. As such, students should expect a very fast-paced course in which not all of the topics they need to know are covered during lectures and lab sessions. While the course assumes that students have some amount of programming experience, beginners may succeed in this class if they are ready for the heavy workload.
A student is most likely to succeed in this course if they have previously taken any course in programming, they have a course load under 15 credits this semester, their extracurricular/home/work time commitments will not interfere, and they have good study habits (time management, independence, etc.). Students are expected to spend time independently exploring and experimenting with the course material beyond what is required to solve assignments.
Course Materials
Website
The CS 1420 Canvas course will develop continually, with frequent updates to the class schedule, course materials, assignments, and more. It is critical that students become familiar with the Canvas course right away and plan to visit it several times a week.
Textbook
Regular reading is assigned from the course textbook, as well as other online notes, books, and articles linked from Canvas.
Course notes
Lectures often involve slides and sample code. These items are posted to Canvas following the lecture. Slides are not provided before the lecture.
Laboratory practice
Lab sessions meet on Tuesdays to give students guided practice applying the concepts of CS 1420. 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 an 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 1420 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. If you choose to use a different environment, keep in mind that instruction and help will only be provided in Eclipse.
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 Price College of Engineering account. The timestamps of files outside of this account are not trusted.
Each assignment's deadline is followed by a one-day late period. Late submissions are penalized 10 points. Note that 12:00am in the Gradescope submission system marks the start of a new day. Do not plan to submit your work just a few minutes before the deadline as network connection issues or delays in Gradescope's submission system can result in late penalties or not being able to submit. Extensions are not provided in such cases.
Exams
Midterm exams are to be given during lecture time on September 18 and October 30. The final exam is cumulative and to be given at the following time depending on your section.
- Section 1: Thursday, December 12 3:30 - 5:30.
- Section 20: Friday, December 13 10:30 - 12:30.
No exam may be taken at a different time for any reason other than a medical emergency or conflict with another exam, and documentation may be required. You must take the exam at the time designated for the section you are enrolled in.
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.
Labs sessions
Each lab is comprised of a TA-led activity and a Canvas quiz, to be completed by students each Tuesday. Lab quizzes cannot be taken late. One lowest lab quiz score will be dropped.
Weekly review quizzes
Students take Canvas quizzes regularly, reviewing the material covered recently in lectures and lab, as well as preparing for an upcoming assignment. Note that these Canvas quizzes are distinguished from those used in labs. Weekly quizzes cannot be taken late. One lowest weekly quiz score will be dropped.
Final course grade
The final CS 1420 grade is comprised of:
- exams 45% (midterms 75 points each, final 100 points)
- programming assignments 35%
- labs 10%
- weekly review quizzes 10%
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. 89.99% is a B+, 90.00% is an A-.
|
|
|
|
|
Getting Help
To get help understanding course material, students may see a Teaching Assistant during TA Help Hours, see an instructor during Office Hours, or post a question to Piazza. To contact the course staff directly, use Piazza. Do not use Canvas Inbox. Email is also discouraged for CS 1420 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 instructors and classmates during lectures. 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 1420 exams require students to handwrite solutions on paper, making handwritten note taking good practice. Furthermore, laptops and mobile devices tempt students to multitask during lectures, 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 instructors 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.
Student mental health resources
If you would like help with any negative feelings, such as burnout, anxiety, depression, isolation, or loneliness, 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.
Student names & personal pronouns
Please take a minute to set your preferred name and pronouns in Canvas by clicking the "Account" button in the left menu then "Settings" -> "Edit Settings". Class rosters are provided to the instructor with the student’s legal name as well as “Preferred first name” (if previously entered by you in your CIS account). Please advise me of any changes (and update CIS) to help create a learning environment in which you and your identity will be respected.
Other polices and guidelines
Students are bound by the following policies and guidelines:
- CS 1420 academic misconduct policy
- Kahlert School of Computing academic misconduct policy
- Kahlert School of Computing policies and guidelines
- Price College of Engineering guidelines
- University of Utah Student Code
Students should read and understand each of these documents, asking questions as needed.
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.