CSC111 Class Page 2009

From CSclasswiki
Jump to: navigation, search

Back To Main Page





Profs and TAs

Judy Cardell email
Picker Engineering Program
Department of Computer Science
Clark Science Center, EGR 105b
Office Hours: Monday 1:30 - 3:00, Thursday 2 - 3

Dominique Thiébaut email
Dept. Computer Science
McConnell Hall, 208.
Telephone: 3854
Office hours MW 10:30-12:00, W 1-3, and by appointments



Click here for TA hours this week.

Weekly Schedule

Week Topics Reading
Week 1
1/27
  • Tuesday (DT+JC)
    • Review syllabus
    • Discuss computer programming
    • Preview lab exercises
  • Thursday (JC)
      • JES programming environment
      • Variables
      • Data types
      • Functions
      • Parameter passing

Read Chapters 1 and 2 in Guzdial.

Week 2
2/3
  • Tuesday (JC)
    • Functions
      • General and reusable
      • Input, output, task
    • Variables & filenames
    • Data types: picture, pixel and color objects
    • Definite loop: the 'for' loop
      • Syntax
      • Out-of-bounds error
  • Thursday (DT)

  • Read chapter 3 in Guzdial
    • Practice with text examples
    • Be familiar with new picture functions/tools (listed at end of chapter)
Week 3
2/10
  • Tuesday (DT)
    • Photo doctoring
    • Exercises 9 and 10
    • DOs and DON'Ts
      • strings
      • ( between parentheses )
    • nested for-loops
    • mirroring images
  • Thursday (JC)

  • Start reading Chapter 4


Week 4
2/17
  • Tuesday (JC)
    • Nested for-loops
      • Scaling pictures
    • Conditional decision making: if-else statements
      • Selectively replacing colors
  • Thursday (DT)

  • Chapter 4
  • Section 4.5
Week 5
2/24
CSC111 bert.jpg
CSC111 blurredBert.jpg
  • Tuesday (DT):
    • Quote of the day #1: Beauty is more important in computing than anywhere else in technology because software is so complicated. Beauty is the ultimate defense against complexity.
      Good programmers know what's beautiful and bad ones don't.
      -- David Gelernter, Machine Beauty
    • Quote of the day #2: Programming is best regarded as the process of creating works of literature, which are meant to be read. -- Donald Knuth, Literate Programming
    • Blurring images. A blurring program
  • Thursday (JC):
    • Activity: Acting out a program with main(), getCharacter() and the operating system
    • Operating system: managing program operation, variable names and data storage, communication between functions

Chapter 4


Week 6
3/3
  • Tuesday (JC):
    • Review of concepts
      • Structured problem solving
        • functions: single task per function
        • for-loops: repetitive tasks
        • if-else: decision making
        • Comments and documentation
      • Data manipulation
        • Boundary conditions
        • Error checking
        • Loss of information through loss of data
    • Program top-down design
      • Blending example, for Lab 6
      • Chromakey example, for HW6
  • Thursday (DT):
    • Review of Lab 5 with JC
    • Exercises with library and top-down design

  • Chapter 5
  • Chapter 9 on top-down design
Week 7
3/10
  • Tuesday (DT)
    • Continue with Exercises on top-down design
    • Interruption for a quick peek at Python lists
    • Python and grading 111 homework assignments
    • Exam Q&A section
  • Thursday (JC & DT)
    • Videos: Python, TED, Monty Python ]]

Midterm exam during LAB. The midterm will include all material in chapters 1 through 5, plus class discussions and examples, lab assignments and homework assignments. Exam is closed book.

  • No new chapter this week, just a quick peek at Section 10.2.2 on Lists.
Week 8
3/17

SPRING BREAK

CalvinDancing.gif

 

Week 9
3/24
SoundMediaTool.png
    • Sound Tool
    • Increasing the amplitude of the signal (doubling)
    • Noise issue
    • Decreasing the amplitude of the signal.
    • Reducing the noise
    • Saturating/clipping the noise
    • Copying sound clip
    • Creating an echo
    • Sound1.py : A collection of functions that manipulate sound
  • Thursday: (JC)
    • And now for something completely different: Matlab
      • Programming environment for Matlab
      • New syntax for familiar structures
      • Practice the examples in the slides
      • Simple stat.m script
      • Hello World! script

  • Chapter 6: the pysics of sound, manipulating sound
  • Chapter 7: Modifying samples in a range
  • Chapter 8: Making sound by combining pieces


Week 10
3/31
  • Tuesday: (JC)
    • Matlab
      • Recap of Thursday's Matlab overview
      • Plotting in Matlab
      • Help resources
      • Preview of wind power analysis
  • Thursday: (DT)

  • Slides on Matlab overview
  • Matlab help
  • Numerous online resources
  • The Mathworks own site with tutorials and documentation
Week 11
4/7
  • Tuesday: (DT)
    • Playing with strings of characters ( log)
    • Splitting strings into lists of strings (words) ( log)
    • Splitting text into lines and words ( log )
    • Exercises (and their solutions)
    • Linux
    • Class accounts
    • Secure Shell
    • Emacs
    • String processing
  • Thursday: (JC)
    • File I/O
      • Opening and closing files
      • Reading from and writing to files

Week 12
4/14
  • Tuesday: (JC)
    • Static HTML files
      • Basic HTML tags and formatting
    • Dynamically creating HTML files with Python
    • More Linux commands
      • Copying, moving and deleting files
      • Making new directories
      • Setting files permissions, for your web page
  • Thursday: (DT)
    • Playing with Python on a Mac
    • The file structure on a Mac (OS X based on Linux)
    • GUI versus text mode
    • Accessing beowulf from terminal window on a Mac
(start X11 in utilities)
ssh -Y 111b-xx@beowulf.csc.smith.edu

  • Sections 11.1 and 11.2
  • String formatting with %s and %d is covered in this nice page]
  • The official Python Web page on the urllib2 module can be found here.
    The examples are at the end of the page.
  • Here are some rough notes on how to connect to beowulf from a Windows XP or Vista PC using X11, as we did with the mac. Warning: not easy to do; use at your own risk! :-)
Week 13
4/21

  • Classes and Object-Oriented Programming are covered in Section 14.3
  • Random numbers (needed for the homework) are covered in Section 10.4.2
  • Accessing URL is covered in Section 10.5, on Networks
Week 14
4/28
  • Tuesday: (JC)
    • Putting it ALL together
      • Strings and string manipulation
      • File I/O
      • Using Python to put other URL content in our HTML pages =
        • Using Python to create HTML pages +
        • Using Python to get information from other URLs
      • Using classes and objects to better organize and communicate our programs
    • Example: FriendInfo.py
    • Example: useFriendInfo.py
  • Thursday: (JC+DT)
    • Wrap-up

Absolutely NO late exams accepted. Late exams receive 0 credit, so be sure to submit well before the deadline
  •  


Links and Resources

If you decide to work in pairs for the homework assignments, you need to follow the protocol for 'pair programming' as discussed in this article.



Typos, Errors, and weird behaviors

  • (D. Rochat) Page 48 in Guzdial. It should be newColor, and not newcolor in the formula.
  • (D. Rochat) on Page 49, print c should be replaced by print color/makeLighter(color).
  • (D. Rochat) p. 68, recipe 15: Guzdial uses "red" and "blue" even though they are reserved names
  • (D. Rochat) p. 106: recipe 37: ibid (discovered by JC)
  • (D. Rochat) p. 71: third part (Pixel program pieces), 2nd entry: value of pixel is between 0 and 255 (not 0 and 244)










Back To Main Page