Introduction to Computer Science for non-majors I by James Tam

Return to the course web page

 

CPSC 217: Fall 2013 Tutorial Schedule

Week No.

Days

Topics to be covered (example programs provided by the course instructor can be found in UNIX under: /home/courses/217/tutorials - link to be added shortly)

1

Sept 8 - 14

No tutorials this week

2

Sept 15 - 21

First tutorial (Monday, Tuesday):

  • Introduction to the CPSC network
  • Lab tours (your TA will be the tour guide for today!)
  • Text editor on UNIX: Emacs
  • Overview of the file system

Second tutorial (Wednesday, Thursday):

  • Exercise: using UNIX commands the script program

3

Sept 22 - 28

First tutorial (Monday, Tuesday):

  • Working at home using the Secure Shell program (SSH)
  • Processor clock speeds and delay times
  • Detailed description of A1: Part I

Second tutorial (Wednesday, Thursday):

  • Overview of A1: Part II
  •  
  • Introduction to creating and running a Python program
  • Displaying output via 'print()'
  • Variables and constants
  • Quiz 1 runs for the last 15 minutes of tutorial

4

Sept 29 - Oct 5

First tutorial (Monday, Tuesday):

  • Using the electronic submission mechanism ('advanced' uses of 'submit')
  • Verifying submissions/viewing contents of submitted files using 'showstuff'
  • Formatting output using Python descriptor codes
  • Precedence: order of operation in Python

Second tutorial (Wednesday, Thursday):

  • Discussion of assignment submission requirements
  • Getting input: string, integer, floating point
  • Converting between types using the: int(), float(), str() functions
  • Reading and understanding translator error messages

5

Oct 6 - 12

First tutorial (Monday, Tuesday):

  • Discussion of requirements for the second assignment
  • Program documentation, versioning and backups
  • The 3 error types

Second tutorial (Wednesday, Thursday):

  • Branching/decision making: if, if-else
  • Boolean variables
  • Random number generators
  • Quiz 2 runs for the last 15 minutes of tutorial

6

Oct 13 - 19

First tutorial (Monday, Tuesday):

  • No tutorials

Second tutorial (Wednesday, Thursday):

  • Logic operators and branching: AND/OR
  • Multiple if statements
  • The if-elif-else construct
  • Quiz 3 runs for the last 15 minutes of tutorial

7

Oct 20 - 26

  • Discussion of A3
  • Comparison of nesting vs. logical AND
  • For vs. while loops
  • Boolean operators in conjunction with loops: AND, OR
  • Motivation for using loops
  • Applications of loops: error checking, multiplication, generating a series, simulations/RPG character generation (nesting loops, branches, successive loops)
  • Nesting loops

8

Oct 27 - Nov 2

First tutorial (Monday, Tuesday):

  • Debugging techniques: 'frozen/hanging' programs, commenting out blocks of code, debugging branches, loop
  • Defining and calling your own functions
  • Creating variables that are local to a function

Second tutorial (Wednesday, Thursday):

  • Parameter passing
  • Function return values
  • Creating and using Boolean functions
  • Quiz 4 runs for the last 15 minutes of tutorial

9

Nov 3 - 9

  • Problem solving: change making
  • A2: Common mistakes, problems
  • Functions: locals, global variables, parameter passing, return values (the examples are more complex than last week so even if you understood the earlier examples then you still may find this week's examples beneficial)
  • Why simplifying expressions is beneficial: example to illustrate
  • Function pre and post conditions
  • Covering select midterm questions: multiple choice

10

Nov 10 - 16

First tutorial (Monday, Tuesday):

  • Reading Days: no CT or tutorial held Monday or Tuesday

Second tutorial (Wednesday, Thursday):

  • Strings: creation, indexing, immutability, concatenation, splitting, iterating strings/examining elements
  • Quiz 5 runs for the last 15 minutes of tutorial

11

Nov 17 - 23

First tutorial (Monday, Tuesday):

  • Lists: creating lists (fixed and variable sized), accessing existing elements, appending new elements.
  • Lists and functions: parameter passing, return values, scope.

Second tutorial (Wednesday, Thursday):

  • Open tutorial: TA's will be available for help but no new material will be taught. Tutorial acts like extra CT time (you can go for help in any tutorial and not just the one in which you are registered)

12

Nov 24 - 30

First tutorial (Monday, Tuesday):

  •  2D lists: "The fountain of fulfillment" (text-based adventure game)
  • Midterm short answer questions: code writing (branch), code trace (loop and branch)

Second tutorial (Wednesday, Thursday):

  • Using graphical controls in a Python program (button and window)
  • Drawing simple graphics in Python using the tkinter library module
  • Quiz 6 runs for the last 15 minutes of tutorial

13

Dec 1 - 7

First tutorial (Monday, Tuesday):

  •  File input and output

Second tutorial (Wednesday, Thursday):

  • Open tutorial: TA's will be available for help but no new material will be taught. Tutorial acts like extra CT time (you can go for help in any tutorial and not just the one in which you are registered)