Python for Applications

Syllabus

Course Info
  • Course Title: Python for Applications
  • Course Number: CSCI-UA.0380-004
  • Semester: Spring 2016
  • Meeting Time: Mondays and Wednesdays, 9:30AM to 10:45AM
  • Room: WWH 312
  • Instructor: Joe Versoza
  • Email: jversoza at cs dot nyu dot edu
  • Office Hours: Mondays and Wednesdays 11:00AM to 12:00PM, Tuesdays 12:30pm to 1:30pm
  • Office Hours Room: WWH 423
Books

Required

Python in Context Second Edition Marijn Haverbeke Publisher: No Starch Press ISBN: 978-1-593-27584-6

Optional (available free online)

Python Cookbook Third Edition David Beazley and Brian K. Jones Publisher: O'Reilly Media ISBN: 978-1-449-34037-7

Topics

Topics

  • Python Data Structures
  • Object Oriented Programming
  • Functional Programming
  • Generators and Iterators
  • Various Modules

Applications

  • Image Processing
  • Simple Cryptography (Substitution Ciphers)
  • Digital Signal Processing (Possibly Audio Synthesis)
  • Web Scraping
  • Simple Dynamic Web Sites
  • Basic Networking
  • Numerical / Data Analysis
  • Simulations and Simple Games
  • Text Analysis
Course Description

This course introduces object-oriented programming, recursion, and other important programming concepts in the context of building applications using Python. Students will design and implement Python programs in a variety of applied areas such as image processing, textual analysis, computing statistics with economic and social sciences data, and more. Students will work on both web-based and stand-alone programming projects.

  • This course is designed to cater to web programming / computer science minors … consequently, the difficulty level of the material is set accordingly (it may not be challenging enough for majors, or too much work for students that aren't pursuing a minor)
  • This course does not fulfill 4xx level elective requirements for majors
Grading
  • 20% - Homework
  • 5% - Online Quizzes
  • 5% - In-Class Activities
  • 25% - Midterm
  • 30% - Final Exam
  • 15% - Final Project
Homework
  • About one homework every week
  • Turned in electronically via NYU Classes
  • Homework assignments are usually due one week after posting
  • The assignment will stay open up to 24 hours in NYU classes
    • After the 24 hour grace period, homework cannot be submitted
    • A pattern of late homework will result in zero points for the next late homework (even if submitted within he 24 hour grace period)
  • Please read the page on academic integrity
    • You can help fellow students debug or discuss high-level algorithms
    • But write your own code! (don't copy other students' work, solutions found online, etc.)
Online Quizzes, In-Class Activities

Quizzes

  • Based on readings
  • Taken through NYU Classes

Activities

  • Short in-class exercises
  • Surveys, quick programming problems, etc.