Course title: The Language of Computers: Introduction to programming using python
(Computer Science: Courses for Non-Majors)
Course number: J02.0012001 (COREI12)
Professor’s name(s): Sana Odeh
Professor’s email: firstname.lastname@example.org
Class Time: Tue/ThuTR, 1:10-3:50 PM, room N-112, NYU Abu Dhabi Downtown Campus.
Office hours: Tue/ThuTR. 3:55 pm - 4:50pm or at other times by appointment.
This course provides a gentle introduction to the fundamentals of programming, which is the foundation of Computer Science. It is intended as a first course for students from different disciplines; no prerequisite is needed.
Programming has revolutionized every aspect of our lives from art and other media to education, business, and the core sciences. Through this course, students will understand the basics of how computers “think” and how computer programs (software applications) are created.
We will develop simple and fun applications involving graphics, sound, text processing, animation, basic interactive game techniques, networking and web interfaces. Students will produce short programs using Python, a relatively easy programming language with powerful visual and graphics capabilities.
- Learn the foundations of Computer Science.
- Learn the elements of Programming.
- Learn Program Control Flow: Boolean Logic, operators and expressions.
- Introduce students to the concepts of repetition and pattern recognition.
- Learn how programs process information.
- Learn to develop applications for manipulating graphics, creating simple animation, and building fun and interactive games.
- Learn how to build programs for the web.
Assignments: Students are required produce 5 individual programming assignments integrating graphics, sound, animation, and text and image processing and one final project.
- Visual Quickstart Guide to Python by Tony Donaldson Peachpit Press, 2009
- Python for Software Design: How to Think Like a Computer Scientist by Allen B. Downey.
Cambridge University Press
Second edition (March 2009)
Software: We will use Python software (Version 3.2) in this class. This is free, open-source software. The python software includes the Integrated Development Kit (IDE) called IDLE. IDLE is easy-to-use and is available for different operating systems such as Windows, Linux and Macintosh.
Course Web Accounts: We will be using a special web account on a Unix web server which will be assigned to you automatically based upon your enrollment. This is called an “i5” account, and we will use it for our web sites. I will discuss the details of this account later on in the course when we cover web CGI.
Online Useful Resources:
Link to course Allen B. Downey required textbook online “How to Think Like a Computer Scientist”: http://www.greenteapress.com/thinkpython/thinkCSpy/html/
- Differences between Python 2.x and Python 3.x:http://docs.python.org/3.1/whatsnew/3.0.html
Safari Online (Access ebooks online for free- ONLY FOR NYU students)
- Programming Collective Intelligence / Python Imaging Library (section): http://proquest.safaribooksonline.com/9780596529321/python_imaging_library
- Assignments: 50 % of course grade
- Midterm Exam: 20 % of course grade
- Final Project (No Final Exam): 30% of course grade.
- Please note that all exams are hand-written (not on the computer) and are all closed book exams.
Help: Whenever you have a question about the course material, please feel free to see me during my office hours or write me an email message. If at any time you feel that you are falling behind or are overwhelmed by the material, let me know: I will be very happy to help you.
Late Assignment Policy:
- Extension: Every student in this class is permitted one extension of one week - no questions asked! - during the course of the semester. You need to email your professor about extension before assignment due date. Assignments with extensions (late assignments) should be submitted within one week from the assignment's due date.
- However, please do not hesitate to see me if you are falling behind, if you would like assistance, or there are circumstances beyond your control which delay your work.
- Late assignments (without extensions) will be penalized as follow:
- 10% for One class late after the due date.
- 20% for Two classes late after the due date.
- 30% for Three classes late after the due date.
- No assignments are accepted after the last day of class.
- Discussing homework concepts is fine, but you must submit your own work (except otherwise noted as in the case of the group project).
- Copying all or part of another student's homework, project or exam or copying from any other resource is prohibited without proper attribution.
- Allowing another student to copy all or part of your homework, project, or exam is prohibited.
- Make sure to read the CS department statements on Academic Integrity for more details.
Student Conduct Policy: In an effort to make this class enjoyable for everyone, I would like you to be guided by the following policies:
- Please be on time to class.
- Please do not talk to your friends and neighbors in class. It disturbs everyone, and makes it hard to concentrate. If you have a question, just ask me!
- Don’t be distracted by passing notes to your neighbors during class.
- Don’t use laptops to read emails and browse the web during class.
- Please turn your pagers and cell-phones off!
- Maintain a professional attitude during class and be civil toward everyone at all times.
- Make sure to be prepared by doing the readings and class assignments on time.