Clinical Associate Professor,
Computer Science Department,
Courant Institute of Mathematical Sciences,
New York University
Email address
Mailing address
Warren Weaver Hall, Room 423
251 Mercer Street
New York, NY 10012
Office hours
Tue 9:00am-10:30am, Wed 11:00-12:30pm, OR by appointmnet
Current courses
CSCI 102 sec. 1, 3
CSCI 201 sec. 3
Textbooks and Other Resources
There is no single book that covers material used in this course.
All the the materials that you are required to read and study
will be distributed by your instructors.
Below is a list of resources that will be useful. Some of them are freely available
online. You do not need to purchase any of the books.
-
Python Learning Modules
used in the Introduction to Computer Programming course.
-
|
Common Sense Mathematics By Ethan Bolker and Maura Mast
ISBN: 978-1-93951-210-9 (print)
ISBN: 978-1-61444-621-7 (electronic)
|
-
|
The Python Workbook, 2014/E
By Ben Stephenson
ISBN-10: 978-3-319-14239-5 (Print) 978-3-319-14240-1 (Online)
available for download for NYU students through NYU Libraries:
- login to NYU Classes using your net ID
- go to Research tab
- under NYU Libraries, select Database A-Z
- search for "SpringerLink" - this should return a single result, follow the link
- if asked, select NYU as you institution
- search for "The Python Workbook" - click on the link (should be first result)
- select either PDF or ePub formats to download (you can also download one chapter
at a time or view it in your browser)
|
- Python tutor allows you to run and visualize code in your webbrowser.
- Code By Math (note, this website uses Lua language, not Python, but it is a very interesting way
of experimenting with writing code along with doing math OR experimenting with math while writing code).
- A Byte of Python
, C. H. Swaroop - free online book on programming using Python languege
- How to Think Like a Computer Scientist by Jeffrey Elkner, Allen B. Downey, and Chris Meyers
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%): 2 midterms (20% each) and the final (35%),
- quizzes (5%): weekly online quizzes based on the assigned chapter readings
- weekly labs (20%): assignments given during the recitations that
you will need to finish at home.
In addition class attendance and participation will count towards your final grade.
Grades will be determined using the following scale:
A 95-100
A- 90-95
B+ 87-90
B 84-87
B- 80-84
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.
Assignments
There will be weekly assignments. 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 code assignments are not duplicates of one another.
All your work 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, 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 director of undergraduate studies.
If you have any doubt if something that you are doing qualifies as academic dishonesty, talk to me!
So what is cheating?
- Sharing solutions: by copying, retyping, looking at, or supplying a file
- Coaching: helping your friend to write a lab, line by line
- Copying solutions 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.
What is NOT cheating?
- Explaining how to use systems or tools
- Helping others with high-level design issue
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)
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.