Course Syllabus - Introduction to Computer Science
Introduction to Computer Science
New York University
Department of Computer Science
Course description
How to design algorithms to solve problems and how to translate these algorithms into working computer programs. Experience is acquired through projects in a high-level programming language. Intended primarily for computer science majors but also suitable for students of other scientific disciplines. Programming assignments.
Credits
4 credits
Meeting pattern
Two class sessions per week, 1 hour and 15 minutes each session.
Learning objectives
Upon completing this course, students will be familiar with some of the foundations of computer science, including:
- Java programming language
- Primitive data types
- Selections, a.k.a. branching and control statements
- Loops
- Methods
- Single dimensioned arrays
- Mult-dimensional arrays
- Object orientation (i.e. objects and classes)
- Abstract classes and interfaces
- Inheritance
- Strings and text I/O
- Exception handling
- Recursion
Instructor
Amos Bloomberg
WWH 424
Getting help
Help resources available to you are listed in order of urgency of your problem:
Messaging
Our course will use a team messaging app (link to be distributed in class) as its main communication channel for announcements and discussion. This is a good place to ask questions that anyone - other students, graders, tutors, or the professor - can answer. This is a resource best used when the answer is not required urgently.
Tutoring
Tutors for this course are waiting to answer your questions during dedicated tutoring hours. Use tutoring for more involved questions and when you prefer a more immediate answer.
- In-person tutoring will take place at WWH Room 227
- Online tutoring will take place via Zoom link.
Schedule (all times Eastern): TBD
Talk with the instructor
For any issues at all, contact the instructor:
- see me before class
- raise your hand or simply speak during class
- see me after class
- come to my open office hours (hours to be distributed in class)
Additional help resources
Additional academic support is also available through the University Learning Center.
Students who feel they could benefit from additional writing help are encouraged to utilize the NYU Writing Center.
Disability disclosure statement
Academic accommodations are available for students with disabilities. Please contact the Moses Center for Student Accessibility (212-998-4980 or mosescsd@nyu.edu) for further information. Students who are requesting academic accommodations are advised to reach out to the Moses Center as early as possible in the semester for assistance.
Student wellness
In a large, complex community like NYU, it’s vital to reach out to others, particularly those who are isolated or engaged in self-destructive activities. Student wellness is the responsibility of all of us.
The NYU Wellness Exchange is the constellation of NYU’s programs and services designed to address the overall health and mental health needs of its students. Students can access this service 24 hours a day, seven days a week - wellness.exchange@nyu.edu; (212) 443-9999. Students can call the Wellness Exchange hotline (212-443-9999) or the NYU Counseling Service (212-998-4780) to make an appointment for Single Session, Short-term, or Group counseling sessions.
Attendance & participation
Attendance is mandatory and absences may be penalized up to 10% of the total grade. Students who are present for only a small fraction of a class session will be marked absent. In-class and online message board participation is encouraged. Anecdotally, students who do not attend class regularly and who do not participate in discussions tend to do poorly.
Textbook
Helpful readings will be given from following textbook, which is recommended, but not required:
Introduction to Java Programming, Brief Version, 11th Ed.
by D. Liang;
ISBN-10: 0-13-359220-0, ISBN-13: 978-0-13-359220-7
Required software and hardware
All students require access to a computer on which they can write programs using a specific set of applications. Computers at any of the university’s computer labs will do, as will any laptop or desktop computer.
Computer labs
Windows and Mac computers are available to you in the ITS labs. You do not need your own computer nor do you need to purchase any software. However, you will be learning how to use various programs and may wish to have access to them at home or on your laptop. In this case, you must purchase your own license or use a trial version, which is sometimes available from the publisher. You can download software provided by ITS to all students, including SFTP programs, by going to the ITS software page.
Saving your work in the lab
You will be able to save your work in the ITS labs on your own flash drive, or online cloud storage services such as Box.com or Google Drive. Although you can write to the storage drives of the machines in the labs, you cannot be sure that you will have access to the same machine the next time you enter the lab and the drives in the lab are frequently erased.
Third-party software
In this class, we will be using GitHub, Discord, and Figma - standard tools in industry. The use of this software is for educational purposes only. This is third-party software, which means that it is not an NYU-supported service that has data privacy, FERPA, and security protections in place. Assessments in this course (graded work, including any exercises, quizzes, exams, etc) are structured so that no highly sensitive personal information is needed to use these tools, and we encourage students to not disclose sensitive information to any of these tools. But note that we are subject to the terms of use and data privacy set by these platforms’ developers.
To raise your awareness of this issue, we ask that you complete a consent form, which contains an overview of this issue and links to the privacy policies for you to review. If you have any concerns about consenting to use these tools, please let us know as soon as possible.
Grading
You will receive a grade calculated mechanically on the following rubric.
- 25% quizzes
- 35% assignments
- 10% first exam
- 15% second exam
- 15% third exam
Attendance may be taken into account in the final grade.
Letter grades
The final class grade will be assigned as follows:
Grade Range | Letter Grade |
---|---|
93-100% | A |
90-92% | A- |
87-89% | B+ |
83-86% | B |
80-82% | B- |
77-79% | C+ |
70-76% | C |
60-69% | D |
0-59% | F |
Notification of grades
Students will be sent their complete individual grades via email approximately once per week.
At any moment, students can request the latest copy of their grades be automatically sent to them by submitting an online form.
Quizzes
Quizzes are completed outside of class using Google Forms. You must be logged into Google with your NYU Net ID account in Google in order to view the Quizzes. Quizzes are submitted by submitting the Google Form, i.e. you click the Submit
button.
If you see an error message indicating you do not have permission to view a Quiz, it is because you are not logged into the correct NYU Net ID account… log out and then log back in with the correct account.
Late policy
All assigned work is due before class on the due date indicated on the schedule
- for every 24 hours that work is late, we apply a 10% penalty on the grade, up to a maximum penalty of 30%.
- after 72 hours, we will no longer accept the work.
Extensions
Students are automatically granted 2 late assignment extensions of up to 3 days late each, with the exception that all assignments must be submitted before the last day of regular classes before the final exam period.
- extensions must be used immediately upon submitting the work and cannot be retroactively applied later on.
- when submitting an assignment for which you would like to use one of these automatic extensions, you must notify the grader that you are using the extension, otherwise your assignment will be rejected.
- for group work, each member of the group must use an extension (or lose points if none is available) for the entire group to submit work late.
- No additional extensions will be granted.
Regrade requests
If a student requests a regrade of any work, we will regrade the work in full, not just the part that the student believes has been mis-graded.
Inspirational quote
Object-oriented programming is an exceptionally bad idea which could only have originated in California.
Academic Integrity
Working with others and leveraging all resources available to you is a prerequisite for success. This is different from copying, cheating, plagiarism, and mental laziness. All submitted work must be your own. There are very reliable systems we use to detect plagiarism in computer code, such as moss and compare50. If you submit any work that is not your own, you risk failure or worse.
Students are expected to adhere to the Computer Science department’s policy on academic integrity and the University-wide policy which supersedes it.
Generative AI
Students must adhere to the academic integrity policies outlined above regardless of whether they use generative AI tools or not. All restrictions on sharing, communicating, collaborating, or copying to/from other humans apply equally to generative AI tools, unless explicit permission is given.
Students are advised that, while useful, material produced by generative AI often involves inaccuracies, plagiarism, copyright infringement, and is often done in a way that does not follow the best practices required of student work in this course.
Students are welcome to use generative AI tools, such as ChatGPT, Gemini, GitHub Copilot, etc to assist with researching and understanding the material covered in this course. However, all work submitted for a grade must be a student’s own, written or otherwise fully produced and fully understood by them without direct assistance writing or producing that work from other people or interactive programs like generative AI tools.