CSC111 Class Page 2018

From dftwiki3
Revision as of 10:39, 15 April 2018 by Thiebaut (talk | contribs) ( )
Jump to: navigation, search

D. Thiebaut (talk) 12:58, 16 January 2018 (EST)



Main Page | Syllabus | Weekly Schedule | Links & Resources |Piazza | TA Hours





 


Week 0 Jan 26    


Topics: Overview of CSC111 Lab/Hw Reading
  • Friday
  • No homework assignment this week



 


Week 1 Jan 29    


Topics: Introduction, Python, Idle, Piazza, Moodle submission Lab/Hw Reading
  • Monday
  • Wednesday
  • Friday
  • The programming process
  • Variables and literals
  • Memory: what does it look like?
  • Overloaded operators
  • Using the shell for quick testing
  • Definite Loops (for ... in sequence: )
  • Python documentation
  • The range() function
  • slides




 


Week 2 Feb 5    


Topics: Chapter 2: variables, definite loops, input, the range function Lab/Hw Reading
  • Monday
  • Wednesday: Snow day!
CalvinSnowDay.gif
  • Friday
  • Read Chapter 2 in Zelle.




 


Week 3 Feb. 12    


Topics: Arithmetic operators, math functions, main(). Lab/Hw Reading
  • Monday
  • 4 minutes from Grier's video: When computers were human. Start at time=28m12s.



WomenCalculatingWWII.jpg
  • Operators: * / + - ** // % abs()
  • The type() function
  • Writing a cash-machine program
  • Formatting numbers (see Section 5.8.2 in Zelle), and example program
  • Wednesday
  • Friday
  • Logistics
  • Accumulating Results
  • What are bits?
  • Slides
  • Read Chapter 3 in Zelle.




 


Week 4 Feb. 19    


Topics: Strings, Lists, and Files Lab/Hw Reading
  • Monday
  • Strings, indexing
  • positive and negative indexes
  • lists, indexing lists
  • string sections
  • Concept of mutability and immutability
  • Wednesday
  • Friday
  • Read Chapter 5 in Zelle




 


Week 5 Feb 26    


Topics: Functions, Files. Lab/Hw Reading
  • DaveMinion.png
    Monday
  • Wednesday
  • Review.
  • A note about complex 1-liners versus multi-line statements: use whatever feels comfortable!
  • Functions returning values
  • Examples, and exercises
  • Friday
  • Chapter 6: Defining Functions




 


Week 6 March 5    


Topics: Lab/Hw Reading
  • Monday
  • "...{x:y}...".format( )
  • indexing in a list
  • how range() works
  • functions receiving parameters, & returning values
  • Wednesday: Midterm Exam, in class, timed, on Moodle, closed notes, closed books, closed Idle.
  • Friday
  • Lab 6
  • No new homework. Homework 5 due after the break.
  • No new reading assignment this week.



Spring Break



 


Week 7 March 19    


Topics: Processing Files, Graphics, If Statements Lab/Hw Reading
  • Monday
  • Back to reading files
  • Writing text files
  • Graphics
  • If statements. Relational operators
  • Wednesday
  • More graphics, with points, rectangles, circles, text
  • Basics of animation
  • Testing for conditions: the IF statement
  • Friday
  • Graphics are covered in Chapter 4
  • If statements are covered in Chapter 7 in Zelle




 


Week 8 March 26    


Topics: If-Statements, Eliza Lab/Hw Reading
  • Monday
  • Boolean Operators (Chapter 8, Section 4)
  • Organization of Graphic Program
  • Dealing with Obstacles
  • Wednesday
  • Eliza
  • Indefinite loops: while loops
  • Friday
  • Indefinite Loops (Chapter 8)
  • Review for-loops
  • Nested for-loops
  • Break & Continue
  • Indefinite Loops and boolean operators are covered in Chapter 8.




 


Week 9 Apr. 2    


Topics: Exceptions, Classes, and Objects Lab/Hw Reading
  • Monday
  • Exceptions
  • Programming with Objects and Classes
  • Wednesday
  • Continue with classes
  • Min/Max of tuples
  • Die class
  • Cat class
  • Global vs local
  • Friday
  • Section 7.4 in Zelle, on Exceptions
  • Chapter 10: Defining Classes




 


Week 10 April 9    


Topics: Image Processing Lab/Hw Reading
CatGlasses.gif
FlowersSmith.gif
CatHat.gif
  • Monday
  • Image Processing
  • Nested for-loops for image processing
  • Displaying gif images
  • Sweep through an image: vertical sweep, horizontal sweep
  • Changing the color of a pixel
  • Changing the color of all the pixels of an image
  • Grey scales
  • Saturation
  • Wednesday
Piece.gif
Piece2.gif
  • More Image transformations
  • Copy an image
  • Mirror an image
  • Displaying a chessboard
  • Setting up a game of checkers
  • Friday
  • Continue with the game of checkers
  • Using objects made of 2 circles
  • Using a gif image for a piece
  • Moving checkers on the board
  • Removing checkers from the board
  • Adding a Quit button to the game
  • Lists of Lists (Chapter 11)
  • Sorting
  • Reversing
  • Removing duplicates
  • Chapter 11, Designing with Lists and Classes




 


Week 11 Apr 16    


Topics: Class inheritance Lab/Hw Reading
  • Monday/Wednesday
  • Friday
  • Guest lecture by Joseph O'Rourke on Quantum Computing




 


Week 12 Apr 23    


Topics: Lab/Hw Reading
  • Monday/Wednesday
  • Friday
  • Zelle, Section 11.6 on Dictionaries.




 


Week 13 Apr 30    


Topics: Lists of lists, Inheritance Lab/Hw Reading
  • Monday
  • Wednesday: Final 1-week take-home exam
  • No labs this week
  • Chapter 11 on Lists of lists
  • Chapter 12 in Zelle, on Objects and Inheritance











Links and Resources


Graphics


  • Zelle's graphic library can be found here
  • A page with color names supported by the graphics library.


On-Line Python books


  • disocovermagazine.com blog. Check out the answers posted by many readers. They contain some interesting links that you may find useful!


Python keywords


The list of all the reserved words of the Python language
and del for is raise assert elif from lambda return break else global not try class except if or while continue exec import pass yield def finally in print.


Python Programs in Textbook


  • All the programs of Zelle's Python textbook


Misc


  • When you work in pairs during the labs, or on homework assignments, you need to follow the protocol for 'pair programming' as discussed in this article.

Fun Programming Ideas to Explore on Your Own


TED: In 2007, Paul Rothemund gave TED a short summary of his specialty, DNA folding. Now he lays out in clear, abundant detail the immense promise of this field -- to create tiny machines that assemble themselves.