Stony Brook University – Summer Session II Extended 2018 (Online Course)

Weekly Course Schedule

The following course schedule is tentative and subject to change. Except where noted, readings are taken from Explorations in Computing: An Introduction to Computer Science and Python Programming by John S. Conery.

Lab assignments, lecure notes and sample programs are posted on Blackboard.

Week Starting Lecture Topics Lab Meetings
June 25
  • Unit 2: Computer Programming Fundamentals
    • Python Variables, Expressions, Functions and if-statements
    • Read Chapter 2 of Conery
  • June 25 (Lab Assignment #1)
    • Learn the basics of PyCharm and submit work to Blackboard
  • June 27 (Lab Assignment #2)
    • Basic expressions and functions
July 2
  • Unit 3: Iteration, Lists and Algorithm Design
    • Python Lists and for-loops
    • Read Chapter 2 of Conery
  • Note: the second of lab this week will meet on Friday, not Wednesday
  • July 2 (Lab Assignment #3)
    • Use the PyCharm debugger to trace the execution of programs and record the results in Blackboard
    • Basic if-statements and relational operators
  • July 6 (Lab Assignment #4)
    • for-loops and if-statements containing relational operators
July 9
  • Unit 4: Searching and Sorting Algorithms; Scalability
    • Python Boolean Operators and while-loops
    • Read Chapter 4 of Conery
  • July 9 (Lab Assignment #5)
    • Boolean operators and while-loops
  • July 11 (Lab Assignment #6)
    • Nested if-statements and nested loops
July 16
  • Unit 5: Divide and Conquer Algorithms; Recursion
    • Recursive Functions in Python
    • Read Chapter 5 of Conery
  • July 16 (Lab Assignment #7)
    • Basic recursive functions
  • July 18 (Lab Assignment #7 continued)
    • Basic recursive functions (continued)
EXAM
  • Exam #1 (Units 1 – 4) on Tuesday, July 17th from 1:00 - 2:30 pm in Humanities 1003
July 23
  • Unit 6: Machine Learning and String Manipulation
    • Python String Processing, Dictionaries and File I/O
    • Read Chapter 6 of Conery
  • July 23 (Lab Assignment #8)
    • Strings and dictionaries
  • July 25 (Lab Assignment #9)
    • File input
July 30
  • Unit 7: Random Numbers and Object-oriented Programming
    • Fundamentals of Object-oriented Programming in Python
    • Read Chapter 7 of Conery
  • Unit 8: Data Representation and Compression
    • Read Chapter 8 of Conery
  • July 30 (Lab Assignment #10)
    • Basics of object-oriented programming
  • August 1 (Lab Assignment #10 continued)
    • Basics of object-oriented programming (continued)
EXAM
  • Exam #2 (Units 4 – 6) on Thursday, August 2nd from 1:00 - 2:30 pm in Humanities 1003
Aug. 6
  • Unit 9: Computer Architecture and Assembly Language Programming
    • Read Chapter 9 of Conery
  • Unit 10: Natural Language Processing and Regular Expressions
    • Python Intermediate String Processing and Regular Expressions
    • Read Chapter 10 of Conery
    • Complete all of the tutorials at regexone.com. This should take no more than a few hours and will really help you.
    • Use regex101.com to practice writing regular expressions.
  • August 6 (Lab Assignment #11)
    • Data representation and compression
    • Bitwise operators
  • August 8 (Lab Assignment #12)
    • Regular expressions
Aug. 13
  • Unit 11: Cryptography
    • No reading assignment. See lecture notes.
  • Unit 12: The Limits of Computation
    • Read Chapter 12 of Conery
  • August 13
    • No lab meetings this week
  • August 15
    • No lab meetings this week
EXAM
  • Exam #3 (Units 7 – 12) on August Thursday, 16th from 1:00 - 2:30 pm in Humanities 1003