CS 202


Instructor: Steve Howard
Course Description: The course is designed to teach object oriented programming techniques using Python.  The course examines data structures and algorithm analysis. It covers data structures (including stacks, queues, arrays, records, files, linked lists, and trees), abstract data types, algorithm analysis (including searching and sorting methods), and file structures.  The course includes a 3 hour lab each week. Prerequisite CSC 201.
Credit Hours: 4 semester hours
Textbook:  Liang, 2013, Introduction to Programming Using Python
Software: Python 3.2
General Course Objectives:  Upon completion of the course students will be able to:
  • properly utilize object – oriented programming techniques to develop algorithms which solve programming problems.
  • document all programming projects.
  • utilize classes and derived classes to develop solutions to programming problems.
  • utilize recursion for problem solving
  • utilize file processing to read and write objects to files.
  • understand and implement sorting algorithms and compare their efficiencies. (Selection, Bubble, Insertion, Quick, Merge)
  • understand and implement dynamic data structures including linked lists, queues and stacks to solve programming problems.
  • understand and implement trees including binary search of trees.
  • utilize Tkinter to develop user interfaces
  • Use numpy and scipy to solve mathematical models
Evaluation of student performance:  Student performance will be evaluated using quizzes, lab activities, tests and programming projects.  The points assigned to each activity are listed below.
Tests (2) 30%
Programming Projects 20%
Quizzes/lab activities 10%
Final Senior Project 15%
Final Exam 25%

Computer Science – TENTATIVE Weekly Class Schedule – Spring

Week                         Section Topic          

1        Ch 13: Reading from and writing to files – Exception Handling
2        Ch 15: Recursion
3        Ch 16: Good Software Practices – Ch 17: Sorting algorithms
4        CH 17: Sorting algorithms – Ch 19 Binary Search Trees

4        Test 1

5        Ch 18: Linked Lists
6        Ch 18: Doubly Linked Lists, Queues and Stacks
7        Dequeues, Applications implementing Linked Lists, Queues and Stacks
8        Applications implementing Linked Lists, Queues and Stacks
9        TBA
10      TBA

11      Test 2

11      Numpy intro
12      Numpy/MatPlotLib and vectorization
13      Graphing and scientific libraries in Numpy
14      Exam Q & A

15      Final Exam

Floats depending on year      Spring Break
16-end of yr     Senior Project Time