CS 113 - Spring 1999 - Computer Science II with Intensive C
Syllabus

Professor:
Steve Homer
Room MCS 281, phone (617) 353-8927
E-mail: homer@cs.bu.edu

Office hours: Tuesday and Thursday 10-11 and Wednesday 10:30-11:30.

Teaching Fellow:
Rob Pitts
Room MCS 223, phone (617) 353-3381
E-mail: rip@cs.bu.edu

Office hours: TBA


Texts

"C by Dissection", by Kelley and Pohl, Addison-Wesley, and "Data Structures, Algorithms and Software Principles in C", by Thomas Standish, Addison-Wesley.

Recommended: "The C Programming Language", by Kernighan and Ritchie.


Content

The purpose of this course is to learn the fundamentals of programming and data structures in a high level language. The course is intended for students that already have some experience programming. It is therefore assumed that you have such experience.

The course has two parts. In the first part we will cover the C programming language. This will be done in the first three weeks of the semester.

In the second part we will study a number of important data structures and related algorithms, such as stacks, queues, and sorting algorithms (see the list below). You will also learn how to create and understand recursive algorithms, to organize programs using modular programming techniques (and maintain them using separate compilation), and to properly document a program.

The material we will cover during the semester is:

Finally, we will attempt to put all this in the context of Computer Science as a scientific discipline. In particular, some of the currently active topics in the field will be discussed as they relate to various aspects of programming.


Grading

There will be approximately 6 programs, a midterm and a final.

The course grade will be based on:

homework50%
midterm20%
final30%

Points will be taken off for late homework and incompletes will not be given.


Assignment #0:

  1. Get a computer account by running 'new' on csa.

  2. After you log on for the first time, type 'help ethics' and read through the BU Computing Ethics policy.

  3. Run Netscape (type 'communicator' at the prompt) and open the document:
    http://www.cs.bu.edu/faculty/homer/113

  4. Take a look at the various pointers on the class home page. In particular, you will need to know about Unix, Emacs and how to use email, some of which will be covered in discussion sections.


Note: Important course information will be communicated via e-mail and the course web page. You are responsible for all information distributed by these means.