Introduction to Computing Lectures for Spring 2009

Lecture

Date

Topics

Overheads

Handouts

01

1/13

Intro to Computer Hardware and Software

Chapter 1 PowerPoint

Questions on Hardware and Software Intro

02

1/15

Software Development Process, Simple input, output, and assignment statements

Chapter 2 PowerPoint

Questions on Software Development and print and assignement statements

03

1/20

Mathematical Operators and Precedence

Chapter 3 PowerPoint

Questions on operator precedence, simple functions

04

1/22

Function Parameter passing and run-time stack

traceStack.py

Questions on passing parameters and the run-time stack

05

1/27

Scope, if statements, if-else statements, if-elif statements

scope.py

Chapter 4: PowerPoint

Questions on scope, and if statements

06

1/29

Math and Logic operator precedence, flow-charts, while loops

lec6_examples.zip

Chapter 5: PowerPoint

Questions on comparisons, characters, while statements

07

2/3

Infinite loops, break and continue statements, for loops, range function

lec7_examples.zip


Questions on infinite loops, break & continue, range function, and for loops

08

2/5

Practice with loops: UNI

UNI.py

Questions on writing loops to build "UNI"

09

2/10

Modules, random, math; Intro to files

Chapter 6 PowerPoint

Questions on modules and files

10

2/12

More Files, Exception handling, string operations, list operations

Chapter 7 PowerPoint

Questions on strings and lists

11

2/17

More on lists

Chapter 8 PowerPoint


12

2/19

Top-down Design on HW #3, list implementation via arrays, sequential searching


Questions on top-down design and list implementation

13

2/24

Recursive binary search

recursiveBinarySearch.py


14

2/26

Review for Test1; Non-recursive binary search, and selection sort

Humor - Python Comic

binarySearch.py

selectionSort.py

Review Topics for Test 1

15

3/3

Test 1



16

3/5

Insertion Sort

insertionSort.py

Questions on Selection sort and Insertion Sort

17

3/10

Merge Sort

mergeSort.py

Questions on Merge Sort

18

3/12

Merge Sort Analysis and Quick Sort development

Partial code: quickSort.py

Questions on Merge and Quick Sorts

Spring Break: March 16 - 20

19

3/24

Quick Sort development and tracing


Questions on Quick Sort

20

3/26

Classes in Python

Ch9_class_examples.zip

Chapter 9: PowerPoint


21

3/31

No class, but lab on Wednesday, April 1



22

4/2

Inheritance and GUI programming

lec22_GUI_Examples.zip

Chapter 10: PowerPoint

Chapter 12: PowerPoint

Questions on GUI Programming

23

4/7

Continue GUI programming



24

4/9

Tuples and Dictionaries in Python


Questions on tuples and dictionaries

25

4/14

Design Exercise with Dictionaries in Python: word concordance


Questions on design with dictionaries

26

4/16

No class



27

4/21

Problem solving practice: Problem 1


Programming Contest Problem Set

28

4/23

Problem solving practice: Problem 3 and 6



29

4/28

Python vs. other programming languages (C++, Java)

Python openURL



30

4/30

Review for Final


Review Topics for the Final

Final Exam, Wednesday (May 6) 1-2:50 PM in ITT 328