instructor Ellen M. Zimmer
office: Doucette Hall 202
e-mail: zimmer@edinboro.edu
office phone: 732-1179
Course
Description &
Prerequisites

This course continues CSCI 130.  It includes data structures such as stacks, queues, linear lists, trees, sets, and files, and their implementations.  It also covers recursion and the presentation and analysis of several searching and sorting algorithms.  Implementation of programs will be done in C++.  You must have a C or better in CSCI 130 to take this course.

Course
Objectives
  • Employ the principles of software engineering to design high quality, structured programs.
  • Utilize object oriented programming principles to develop and implement abstract data types.
  • Describe and implement the standard abstract data types.
  • Develop and implement recursive algorithms.
  • Develop and implement sorting and searching algorithms.
  • Solve and code interactive programming problems.
  • Solve and code batch-programming problems.
Texts &
Materials
Programming and Problem Solving with C++, 4th Edition
   by Nell Dale, Chip Weems, Mark Headington

C++ Backpack Reference Guide
   by DePasquale

You should purchase a program folder from the instructor: green

Grading

Your grade will be based on

 

It's important to understand that if you complete all the requirements for an assignment, that entitles you to a grade of "B" (i.e. "satisfactory work"). To receive an A for an assignment, you must go beyond the basic requirements, and demonstrate creativity, initiative, and excellence--the grade of "A" is intended for work that is superior, rather than average.

"Incomplete" Grades: You may request an incomplete, or "I" grade, only in cases where exceptional conditions beyond your control, such as accidents, severe illness, family problems, etc., have kept you from completing the course. You must alert us to these circumstances as soon as possible--telling your instructor in November that you were sick in September is not acceptable. If your request for an incomplete is granted, you must complete the work for the course within the time limits set by the University.  Unfinished "I" grades automatically become "F". Incomplete grades are not given to students who have simply fallen behind in their work.

Course
Outline

 

The schedule is outlined below.  This may change as the semester progresses and I will update you on these modifications in class.

 

 

 

 

Topics Covered

Lab

Week 1

Intro, Review of Functions, Chapter 10

 

Week 2

Chapter 11 - structs

Lab 1-Linking (design)

Week 3

Chapter 11 - unions, ADT, classes

Lab 2-Classes

Week 4

Chapter 11 - classes

Lab 3 - Classes

Week 5

Chapter 12 - arrays

Lab 4-Arrays 

Week 6

Chapter 12 - arrays, Chapter 13 - list  

Lab 5-Arrays  

Week 7

Exam 1 (Feb 22), Chapter 13 - list  

 

Week 8

Exam Returned, Chapter 13 - list

 

Week 9

Chapter 13 - list

Lab 6-Lists

Week 10

Chapter 14 - oop & Chapter 15 - ptrs

Lab 7-C-strings

Week 11

Exam 2 (Apr 4), Chapter 15 - pointers

Lab 8 - Pointers

Week 12

Exam Ret, Ch 16  - linked lists, stacks

 

Week 13

Stacks & Queues

Lab 9 - Linked Lists

Week 14

Chapter 18 - recursion

Lab 10 - Exceptions

Exam Week

Final Exam

May 9 11:00-1:30

Web page
updated

March 16, 2008