CS240B Introduction to Computer Science
Fall 2007 Syllabus

Course Details

Call Number:
01429
Meets:
2:10-3:00 MTuThF
In Room:
Convo 196
Instructor:
William Austad
Office: Convo 174
Office Phone (740) 597-1952
Office Hours: 1:10 - 2:00 MTuThF or by E-mail appointment
Email: austad@ohio.edu
Prerequisites:
CS240A
MATH263A
EE102
Required Texts:
Problem Solving with C++ the Object of Programming, Ed. 6 by Walter Savitch, Pearson Education, Inc., Boston, MA 2007. ISBN 0-321-41269-9
Data Structures and Other Objects Using C++, Ed. 3 by Michael Main and Walter Savitch, Pearson Education, Inc., Boston, MA 2005. ISBN 0-321-19716-X

Catalogue Description

Implementation and application of standard data structures and their operations, abstract data types and encapsulation, sorting, searching, storage management and complexity of algorithms. Continuation of 240A.

Course Outcomes

  1. An ability to describe the big O running times for linear search, bubble sort and binary search.
  2. An ability to design and implement a dynamic storage class capable of holding any data type with which it may instantiate.
  3. An ability to design and implement the copy constructor, overloaded assignment operator, and the destructor for these objects that hold linked lists for data storage.
  4. An ability to use GDB to find where a program core dumps (or has a memory exception/run time error).
  5. An understanding of basic stack operations.
  6. An understanding of dynamically allocated objects, e.g., dynamically allocated objects that resize their storage capacity as needed.
  7. An understanding of elementary sorting techniques.
  8. An understanding of how arrays are stored and referenced in memory.
  9. An understanding of how arrays in objects may consist of objects.
  10. An understanding of linear and binary search techniques.
  11. An understanding of nodes, list construction, list traversal, and removal of nodes.
  12. An understanding of objects that hold linked lists for data storage.
  13. An understanding of the array as an object member.
  14. An understanding of the definition and instantiation of template functions.
  15. An understanding of the necessity of redefining the copy constructor, overloading the assignment operator, and the destructor for dynamic memory classes.
  16. The ability to design and implement an abstract data type with a full set of operators.

Expectations: Students are expected to spend at least two hours outside of class per class session, including working exercises in the book, and programming homework problems. Programming can only be learned by doing! In this class students are expected to write many programs in order to gain proficiency.

Grading policy: Your grade will be based on a composite score computed according to the following breakdown:

40% for homework
15% for each of two hourly tests
30% for the final exam

Exam schedule:

First Hourly Test: Tuesday, September 25th.
Second Hourly Test: Tuesday, October 30th.
Final Exam: Thursday November 15th at 2:30 PM.

The final will not be given early!

Attendance policy: Students are strongly encouraged to attend all classes. Although class attendance will not be used directly in the final determination of grades, students miss classes at their own risk. Students are required to attend class during the hourly tests and final exam unless prior arrangements have been made.

Academic dishonesty: Students are expected to turn in only their own work with proper documentation. Anything else may result in an F for the exam, project or program, an F for the course, or even dismissal from the University. Anyone intentionally harming the Ohio University computer system will be turned over to Student Judiciaries.

Homework is due by the time specified, late homework will lose 20% of its value per day late. Homework is to be an individual exercise, discussing general concepts with other students is encouraged. However, comparing answers, or working in groups is not allowed. You may consult books, journals, and notes in order to do your homework, but you must credit any source you use. You will not lose credit if you credit the source, but you may if you do not! As a general rule, be clear and rigorous in all of your work. Solutions that are unclear or difficult to read will lose points. For full credit your programs must follow the style guide, which can be found at the following URL:

Style guide

All homeworks and labs will be posted on the class website on prime:

     file:///home/wkatest/class/240b/web/index.html
which can be read using a browser in the labs, or via links when logged on via SSH.

Tests will be closed book, closed note. The final will be comprehensive, although it will emphasize the material in the latter part of the course. Use of electronic devices during tests is prohibited.


Last modified: Mon Sep 3 12:20:31 EDT 2007