Computer Programming Syllabus
- 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.
Tutors for this course are waiting to answer your questions on the 4th Floor of the Kimmel Center.
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:
- Quizzes: 5%
- Assignments: 20%
- Midterm #1: 20%
- Midterm #2: 20%
- Final Exam: 35%
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 1 week, we will no longer accept the assignment.
Submit assignments by sending them in an email to: py-homework [at] knowledge [dot] kitchen
- Make sure you are following the assignment filename conventions mentioned below.
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 in an email with the subject, 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 in an email with the subject, 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.