
|
Week 1 |
8/26-28 |
Chapter 1 |
Ada Review; Abstract Data Types |
|
Week 2 |
9/2-4 |
Chapter 2 |
ADTs continued |
|
Week 3 |
9/9-11 |
Chapter 3 |
Recursion; "big O" |
|
Week 4 |
9/16-18 |
Chapter 4 |
Advanced array types |
|
Week 5 |
9/23-25 |
Chapter 5 |
Generic units |
|
Week 6 |
9/30 |
Chapter 6 |
Variant and tagged records |
|
|
10/2 |
NO CLASS - Jewish New Year |
|
|
Week 7 |
10/7 |
|
Continued |
|
|
10/9 |
Chapter 7 |
Using Stacks and Queues |
|
Week 8 |
10/14 |
NO CLASS - Designated Monday |
|
|
|
10/15 |
|
Continued |
|
Week 9 |
10/21 |
MIDTERM EXAM |
Covers Chaps. 1-7 |
|
|
10/23 |
Chapter 8 |
Linked lists |
|
Week 10 |
10/28-30 |
Chapter 9 |
Linked lists, continued |
|
Week 11 |
11/4-6 |
Chapter 10 |
Directed graphs |
|
Week 12 |
11/11-13 |
Chapter 11 |
Binary trees |
|
Week 13 |
11/18-20 |
Chapter 13 |
Hash tables |
|
Week 14 |
11/25 |
Chapter 14 |
Internal sorts |
|
|
11/27 |
NO CLASS - Thanksgiving |
|
|
|
12/2 |
|
Continued |
Attendance is required in both lecture and lab, and important work will be done in both. If you have an unavoidable need to be absent, you do not need special permission, but you are responsible for the work covered even if you are not in class.
Prof. Feldman, Rm 642 Academic Center: Mon 3-5 PM, T 3-6 PM, W 3-5 PM, Th 3-5 PM. You do not need an appointment to come to office hours; just show up and take your turn. Office hours, both the lecturer's and the lab instructor's, are an important way for you to get help or to discuss anything you have on your mind. We are there to help you; that is an important part of our job. Please make good use of these hours; you are cheating yourself if you do not.
Prof. Feldman, mfeldman@seas.gwu.edu; Iddo Porat (TA), iporat@seas.gwu.edu.
Part of your first-week assignment is to learn to write and send e-mail. Both the lecturer and the lab instructor read e-mail at least once a day; you are sure to get a quick response if you make good use of this system. If you have never used e-mail before, you are in for a treat--it is fun!
The required text is Feldman, Software Construction and Data Structures with Ada 95, Addison-Wesley, published June 1996 (ISBN 0-201-88795-9).
Read each chapter during the week it is assigned. The book discusses much more than I can cover in class, and I will cover things not in the book. You will get much more out of the class if you are well-prepared.
If you have not previously studied the basics of Ada, you will find it helpful to read the first 9 chapters of the text used in CSci 51, which is Feldman/Koffman, Ada 95 Problem-Solving and Program Design, Addison Wesley, published Feb. 1996 (ISBN 0-201-30485-6).
The basic syntax of Ada is very similar to Pascal; if you have had a course in Pascal, C, C++, or Java, you will probably find it straightforward to learn Ada. Hundreds of students like you have taken CSci 131 successfully. If you have not previously studied any of these programming languages, you are much better off to take CSci 51 before attempting this course.
There will be a one-hour midterm and a two-hour final exam, both strictly timed. These will be open-book, open-notes exams. If you are coming to class regularly, and keeping up with the reading and the projects, the exams should not be difficult for you. Exams will require a mixture of reading and interpreting short program segments, writing short program segments, and short "essay" questions.
There may be one or more unnanounced quizzes during the lecture period. The best way to avoid unannounced quizzes is to come to class regularly, participate actively, and keep up with the reading.
There will be five or six projects. Details will be given to you separately, but, in summary, the programming part of these will be written in Ada 95. In principle you will use the GW computing facilities. You may also use a computer at home or at work, but must log in to the GW system frequently (once a week) to check for e-mail and download files.
Projects must represent the results of your own work. I cannot prevent your speaking with friends to sketch out a solution. But if you collaborate on the detailed design or coding, or copy a program from an acquaintance, then submit the results as your own work, I will charge you with plagiarism, and I will win.
There will be brief written homeworks in most weeks. These may not be graded in detail, but they will be checked, and you must turn them in.
Your grade in the course is based on these weighting factors: homework 5%, midterm exam 25%; final exam 35%; programming projects 35%. Conversion from numerical to letter grades is done only when final grades are to be assigned. Grades are usually adjusted to the overall performance of the class, although there is no formal "curve" used. Quizzes, if any, will count a few percent of the grade.
Under University regulations, a grade of Incomplete may be assigned only when the student has really special circumstances such that (s)he cannot finish the work of the course. I follow the University regulations, and do not give Incompletes unless the situation is truly unusual. Do not ask for an Incomplete just to gain more time to finish projects or raise a low grade. I will almost always say no.