This class is designed to satisfy the Quantitative Reasoning requirement
of the College Core Curriculum.
It should not be taken by students who satisfy any of the exemptions or substitutions.
This class covers basics of programming - students who took college level programming classes
or passed AP exams with score of 4 or 5 should not be registering for this class.
Textbook and Online Resources
Python Resources
Python Learning Modules, Andrew Case, Deena Engel, and Craig Kapp Highly recommented - used in the Introduction to Computer Programming course. |
|
![]() |
How to Think Like a Computer Scientist, Ben Stephenson |
![]() |
The Python Workbook, Chris Mayfield, Allen Downey, available for download for NYU students through NYU Libraries: 1) login to NYU Classes using your net ID 2) go to Research tab 3) under NYU Libraries, select Database A-Z 4) search for SpringerLink - this should return a single result, follow the link 5) if asked, select NYU as you institution 6) search for The Python Workbook - click on the link (should be first result) 7) select either PDF or ePub formats to download (you can also download one chapter at a time or view it in your browser) |
A Byte of Python, C. H. Swaroop , free online book on programming using Python languege |
|
Python Tutor, free online Python environment that allows code visualization and execution line-by-line |
Mathematics Resources
![]() |
Math in Society, David Lippman, free open source book |
![]() |
Fundamentals of Mathematics, Denny Burzynski and Wade Ellis, free open source book |
![]() |
Introductory Statistics, Douglas Shafer and Zhiyi Zhang, free open source book |
![]() |
Prealgebra, Lynn Marecek and MaryAnne Anthony-Smith, free open source book |
![]() |
Common Sense Mathematics , Ethan Bolker and Maura Mast, (OPTIONAL) good resource for some of the math topics that we are going to discuss |
Prerequisites
There are no course prerequisites for this class. But there are some requirements that will make it easier for students to succeed.
- positive attitude,
- willingness to learn,
- curiosity,
- being able to wakeup early enough to attend the 9:30am class three times a week.
Grading
Your grade will be based on:
- exams (75%): two mid-semester exams (20% each) and the final exam (35%),
- quizzes (5%): online quizzes based on the assigned readings and tutorials
- weekly labs (20%): assignments given during the recitations that you will need to finish at home.
Grades will be determined using the following scale:
A 95-100
A- 90-95
B+ 87-90
B 83-87
B- 80-83
C+ 76-80
C 72-76
D 65-72
F less than 65
The grade of Incomplete is reserved for students who, for legitimate and documented reason, miss the final exam. The grade of Incomplete will not be given to student who started falling behind in class. Those students should withdraw from the class or switch to Pass/Fail option.
Assignments
There will be weekly assignments/labs. Each week in the recitation you will be given a project to work one. The recitations will be the time to discuss the assignments and come up with a plan of action for solutions. Usually, you will get a chance to start working on the project during the recitation. You will need to finish it on your own during the next week.
All assignments will count towards your final grade (I do not drop any assignment grades).
No assignments can be accepted after the last day of classes.
Challenging assignment grade: You can challenge your grade on any assignment. To do so, you need to come to see me during the office hours, or schedule an appointment.
Exams
There will be two mid-semester exams and a final exam. All exams are cumulative, although they will have larger emphasis on the new material covered since the previous exam.
Missing an exam: There will be no make-up exams. Failure to take an exam counts as a zero grade on that exam. The only exception to this rule is for students who have a legitimate medical or personal emergency (documented). These students need to talk to me as soon as possible (trying to excuse an exam absence a week after it happened will not work).
Academic Integrity Policy
I use MOSS (a system for detecting software plagiarism) to make sure that the submitted assignments are not duplicates of one another. Your code has to be your own.
I follow the department's academic integrity rules.
In short, it is fine to talk to other students about your ideas and your
programs, but it is not fine to work together on
assignments or copy someone else's assignment. You cannot copy other people's
work without giving them a proper credit (and
part of your grade).
Any sharing or copying of assignments will be considered cheating.
By the rules of the College of Arts and Science, I am required to report any incidents of cheating to the department.
If you have any doubt if something that you are doing qualifies as academic dishonesty, talk to me!
So what is cheating?
- Sharing code/solutions: by copying, retyping, looking at, or supplying a file (this includes posting partial or complete solutions on the course discussion board, a public repository - think GitHub, or any place where others can access it)
- Coaching: helping your friend to write their code line by line (send them to the tutors or office hours, if you want to help them)
- Copying code from previous course or from elsewhere on WWW. You are only allowed to use code from the textbook and what we supply on the course website.
- Hiring someone to complete your assignments for you.
What is NOT cheating?
- Explaining how to use systems or tools
- Helping others with high-level design issue
Exams
There will be a midterm and a final exam. All exams are cumulative.
Missing an exam: There will be no make-up exams. Failure to take an exam counts as a zero grade on that exam. The only exception to this rule is for students who have a legitimate serious medical or personal emergency (documented). These students need to talk to me as soon as possible (trying to excuse an exam absence three weeks after it happened will not work).
Topics Covered
Mathematics topics covered:
- Counting
- Logarithms and Exponentials
- Probability
- Trigonometry
Coding topics covered:
- Introduction to Programming Languages
- Python Basics
- Working with variables and operations
- Control Structures
- Repetition Structures
- Working with Text
- Functions and Modules
- Lists
- File Input & Output
- Turtle Graphics
- Dictionaries (time permitting)
For detailed schedule, see the Daily tab of this page.
Academic Email Etiquette
-
Check the school email address on a regular basis. You can simply forward its content to another email account that you use regularly.
-
Use your school's email account to send emails to professors, instructors, TA's, graders, administrators, etc. OR make sure that your email address contains your true name, not "frabjous@gmail.com", "BabyGurl@yahoo.com" or some other cool alias.
-
Start your email with proper salutations! Use the correct titles (Professor, Dr., etc.) and spell first and last names correctly. If you are on the first name basis with your instructors, use their names, not "Hey". For example: "Dear Professor Drummer" or "Dear Robert", not "Hey Bob".
-
Sign your name under the body of your email, otherwise you expect people to read emails from anonymous.
-
Do not write everything in upper-case letters. Do not write everything in lower-case letters.
-
Make sure you included everything you wanted before hitting send. Don't send three emails one after another because you forgot something in the first one.
-
Proofread the text in your email before sending it. Most of the email clients check for typos, but they cannot tell if your email makes much sense. Read it, before you send it.