Computer Programming Syllabus
- 1 Topics
- 2 Getting help
- 3 Books
- 4 Software
- 5 Grading
- 6 Assignments
- Why learn programming?
- Basic computer concepts and terminology
- Variables and literals
- Data types
- Input and output
- Boolean logic and decision-making in code
- For loops and While loops and both
- Lists and more
- Dictionaries and more
- text files
- strings and raw strings
- Alias vs. copy
Topics not covered in this course
- Desktop and mobile app development
- Web site development
- Game design
- Computer music and digital audio
- Interactive product design
Frequently asked questions
Many practical questions are answered in the Student FAQ. Please check there first.
Our course uses Slack 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.
Tutors for this course are waiting to answer your questions at the Laguardia Co-op, located at 541 LaGuardia Pl. If you can't find the tutors, please ask at the reception desk.
- Monday: 11:30am-12:30pm; 4:00pm - 7:00pm
- Tuesday: 4:00pm - 7:00pm
- Wednesday: 11:30am - 1:00pm
- Thursday: 11:30am - 1:00pm
Additional tutoring resources
Academic support is also available through the University Learning Center.
Talk with the professor
- see me before class
- raise your hand during class
- see me after class
- come to my open office hours
Reserved copies are available for use in Bobst Library at the Reserves Desk, two floors down from the main lobby
Starting Out with Python (4th Edition)
- by Tony Gaddis
- Publisher: Addison-Wesley; 4 edition
- How to Think Like a Computer Scientist: Learning with Python 3
- Automate The Boring Stuff
- A Byte of Python - Swaroop C H.
- Companion Website to accompany Starting Out with Python, Third Edition by Tony Gaddis
- MyProgrammingLab Online Tutorial Site
- If you wish to use this resource you may purchase it along with the "Starting out with Python" textbook from the NYU bookstore. You can also purchase access to this site directly by visiting www.myprogramminglab.com and registering as a "student" - just follow the prompts and make sure to purchase access for the "Starting out with Python" programming lab.
- if you purchase it and it asks you for a "Section Access Code", use the following: NEWYOR-9976-0
In this course, we are learning how to program Python version 3.x. We will write our code in the Spyder code editing program. Both Python 3.x and the Spyder editor are included in Anaconda, a set of Python-based programs used for scientific research. To install:
- Install Anaconda by following the instructions
- Once installed, run the Anaconda Navigator program
- Run the Spyder program from within Anaconda Navigator
Grades are weighted as follows:
- Assignments: 20%
- Midterm: 40%
- Final Exam: 40%
Submit assignments by sending them in an direct message to the graders in Slack
- Include a message with your name and the name of the assignment
- Make sure you are following the assignment filename conventions mentioned below.
For every 24 hours that an assignment is late, we will apply a 10% penalty on the grade, up to a maximum penalty of 30%. After 72 hours, we will no longer accept the assignment.
- You are automatically granted 2 late assignment extensions of up to 1 week late each, with the exception that all assignments must be submitted before the final exam date.
- 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.
- Do not ask for any extensions from the professor
To clarify how we require assignment files to be named in this course, please peruse the following examples….
Example 1: If my name were Foo Barstein, and I were submitting Assignment #1, my python file should be named barstein_foo_assignment1.py. This python file should be compressed into a zip file named barstein_foo_assignment1.zip. This zip file should be submitted with the message, Barstein, Foo: Assignment #1.
Example 2: If my name were Jennifer Fergusson, and I were submitting Assignment #2 in two parts, my python files should be named fergusson_jennifer_assignment2_part1.py and fergusson_jennifer_assignment2_part2.py. These python files should be compressed into zip file named fergusson_jennifer_assignment2.zip. This zip file should be submitted with the message, Fergusson, Jennifer: Assignment #2
Other filename requirements:
- No capital letters
- No spaces
- No special characters except the underscore _ character.
This naming convention is standard among savvy computer users to avoid various complications.
We will not accept files that do not follow these rules.