Introduction to Computer Programming - CSCI-UA.0002 - Summer 2017

Schedule & Notes

MON 5/22, Class #1

Topics

  • Introductions
  • About Programming
  • Programming tools
  • Reading / Writing Programs

Due Today

Nothing yet!

TUE 5/23, Class #2

Topics

  • Values, Types, Operations, Variables
  • Input / Output
  • Calling Functions

Due Today

Before class!

  • Starting Out with Python - Chapter 1
  • Starting Out with Python - Chapter 2
  • Module #1
  • Module #2
  • Quiz #1 (NYU Classes)
  • Quiz #2 (NYU Classes)

WED 5/24, Class #3

Topics

  • Values, Types, Operations, Variables Continued
  • Built-in Functions
  • Formatting
  • Errors
  • Debugging

Due Today

Nothing due today!

Assignments / Readings

THU 5/25, Class #4

Topics

  • Continue Printing and Formatting
  • Conditionals
  • Boolean Logic
  • Modules (math, random, sys)

Due Today

  • Homework #01
  • Starting Out with Python - Chapter 3
  • Module #3
  • Quiz #3 (NYU Classes)

Slides

Coding Demo

  • multiple string operations in a single expression
    • len() function (not necessary for homework)
  • review formatting again
    • formatting a %
    • formatting decimal places
    • length of string
    • aligning everything right
    • aligning everything left
    • the argument given is a string! (try passing in a variable)
    • interactive program - how do you want me to format this…
    • it returns a string, which leads us to…
  • review print
    • print a formatted string with other strings
    • note that print doesn't care about type
  • demo homework programs

Slides

Assignments / Readings

Homework #2 Due Tuesday, May 30th, at 11PM

  • we'll do go over potential solutions to multiply together!
  • for the remainder of the homework
    • write your own code
    • (though, I expect that multiply will be the same one that we mostly implement in class)
  1. multiply.py (partially implemented in class together!)
  2. grade_bot_3000.py
  3. change_puhleese.py

TUE 5/30, Class #5

Topics

  • Modules and If Statements Continued
  • While Loops
  • Accumulator Variables

Due Today

  • Homework #02
  • In-class handout on if statements

WED 5/31, Class #6

Topics

  • While Loops
  • Accumulator Variables

THU 6/1, Class #7 (Programming Assignment)

Topics

  • In-class programming assignment
  • Preview For Loops

Due Today

Nothing due today!

Slides

Warm-up

  • review while loops:
    • counting
    • getting user input
  • simple input validation
    • ask until they get it right! (keep on asking until name is given)
    • set a default value (ask for name, blank gives default name)
  • break and continue
    • break immediately
    • break in conditional
    • continue in conditional
    • only necessary
  • while loop with a game
    • maybe revisit number guessing game?

MON 6/5, Class #8

Topics

  • For Loops
  • While vs For
  • Functions

Assignments / Readings

Due Before Class on Tuesday 6/6 9AM

Readings

  • Starting Out with Python - Chapter 5 (Functions and Modules)

TUE 6/6, Class #9

Topics

  • Functions Continued

Due Today

  • Quiz #6 (Functions)

WED 6/7, Class #10

Topics

  • Strings

Due Today

Assignments / Readings

THU 6/8, Class #11 (Review)

Topics

  • Review Session for Midterm

Due Today

Slides

Code

Review Materials

See class 8. Additional review materials To be posted here on review day.

Distributed in Previous Class

Today's Class

Assignments / Readings

MON 6/12, Midterm

TUE 6/13, Class #13

Topics

  • Testing
  • Scope
  • Strings

Due Today

  • Quiz #7

Assignments / Readings

Readings

  • Read Starting Out with Python - Chapter 7 - Lists

assignments

  • complete the self paced-learning module #8
  • take quiz #8 on nyu classes - module #8

WED 6/14, Class #14 (Programming Assignment)

Topics

  • In-class programming assignment

Due Today

Slides

Warm-up

  • indexing and slicing
  • review string methods, functions
  • unicode, chr, ord
  • substitution cipher?

THU 6/15, Class #15

Topics

  • Lists

Due Today

  • Quiz / Module #8 (Lists)

Assignments / Readings

Mon 6/19, Class #16

Topics

  • Lists Continued

Due Today

Slides

  • Review
  • Go over previous class slides on:
    • iterating with indexes
    • mutability and aliasing
    • string functions
    • list comprehensions

Assignments / Readings

TUE 6/20, Class #17

Topics

  • Turtle

Due Today

Slides

  • Review:
    • iterating with indexes
    • mutability and aliasing
    • string functions
    • list comprehensions
  • In-class handout on lists
  • Sample List Exercises
  • Turtle

Assignments / Readings

Homework #6 Due Thursday, June 22nd, at 11PM

Quizzes Due Monday, June 26th, at 9AM

  • Complete the Self Paced-Learning Module #9
  • Take quiz #9 on NYU Classes - Module #9
  • Complete the Self Paced-Learning Module #10
  • Take quiz #10 on NYU Classes - Module #10
  • Quiz #08 is reopened

Readings

WED 6/21, Class #18 (Programming Assignment)

Topics

  • In-class programming assignment
  • File I/O
  • Exceptions

Due Today

Assignments / Readings

Continue working Homework #06 (see previous class)

THU 6/22, Class #19

  • Tuples
  • Dictionaries

Due Today

  • Homework #06

Assignments / Readings

Homework #7 Due Monday, June 25th, at 11PM

(this one's short, and we did an example of it in class!)

THU 6/26, Class #20

  • Dictionaries Continued

Due Today

  • Homework #7
  • Quizzes #9 and #10

Slides

  • Review Tuples
  • Review Dictionaries

Upcoming Classes

  • 21: 6/27 - Tue
  • 22: 6/28 - Wed
  • 23: 6/29 - Thu: Final Exam

CSCI-UA.0002 - Introduction to Computer Programming - Summer 2017