COM1201, Algorithms & Data Structures 2
Winter 1998, Professor Futrelle
Course (Catalog) Description
Continues the study of algorithms, data structures, abstraction, and
encapsulation. Introduces structures that utilize arrays and/or links in
more sophisticated ways. Studies linked lists, trees, heaps, priority queues,
and hashing. Discusses efficient sorting (quicksort and heapsort) and introduces
experimental analysis or algorithms. Examines several design issues, including
selection of structures based on what operations need to be optimized (insertion,
deletion, traversal, searching, sorting, evaluation), encapsulation of algorithms
using class and template techniques, and how and when to use recursion (versus
explicit stack-based techniques). Introduces graph algorithms and structures
if time permits. Prereq. COM 1101 or equivalent.
Description of this winter's course
The goals of this course are first, to introduce you to advanced data
structures and algorithms described in the catalog description above. The
second goal is to understand how these structures and algorithms are translated
into a contemporary programming language. The take-home lesson is that the
study of algorithms and data structures is fundamental and goes beyond their
implementation in any particular language.
C++ is the language for the course. Despite its shortcomings, it has
close relations to C and is widely used. (Many professionals feel that Lisp,
Smalltalk, and Java deal with object-oriented programming in more sophisticated
ways than C++.)
Check this website and your email frequently, to hear the latest (http://www.ccs.neu.edu/home/futrelle/teaching/com1201w98/).
Read all the COM1201 pages and reread any for which an update is indicated
(below). If you do something wrong because you never read the pages, it's
your problem -- but I'm sure you'll do fine :-)
Major updates of these pages:
1/7/98: Posted (based on earlier COM1201 web pages).
- Institution:
- Northeastern University, College of Computer Science, Boston, MA.
- Instructor:
- Professor Robert P. Futrelle Email
me at: futrelle@ccs.neu.edu.
- Teaching assistant:
- Xing Xiong. Room 53CN, phone 373-4607, email: xxing@ccs.neu.edu.
- Office/Lab:
- 115/149 Cullinane
- Hardcopy mailbox:
- 161 Cullinane
- Class email:
- You can also send mail to the ENTIRE
COM1201 class.
- Telephone:
- Office 373-4239 (voice mail), Lab 373-2076, Home 244-8261
- Course calendar:
-
and you can access the official University
Calendar
- Platform and development system:
- This course will use Macintoshes,
room 229CN and 201CN, and develop C++ programs using MetroWerks
Code Warrior Pro, an excellent C/C++ development system. See also, our
College's Freshman
C++ Curriculum page. You can also look at these Macintosh
Programming Pages. Some students may elect to use Lisp for
their work (Macintosh Common Lisp).
- Textbooks:
- Robert Sedgewick. Algorithms
in C++ Addison-Wesley, 1992.
- Books on algorithms in the library:
- Algorithms is a big and important subject. Even the fastest computer
in the world is useless without good algorithms. There are over one hundred
books about algorithms in Snell library, at every level from beginner to
research-level. Use NULIS at
the Snell Library to check out
what's there.
- Personal Help:
- If you need help at any time, find me in my office or lab, call, or
send email, or ask in class to set up an appointment. My office/advising
hours are Tuesdays, 9:30-11:30.
- On-line help:
- On-line help is available from many sources. All the Code Warrior manuals
are on-line on the big Mac server, Ambassador, accessible via the Documents
folder. For more info on most anything, search
the net.
- Project/Code Resources:
- All project files, source code, project documentation, etc. can be
found in Ambassador:Course Directories:COM1201 :Student. Here's an on-line
copy of Sedgewick's C++ source
code.
- Classes:
- Mondays, Tuesdays, Thursdays, 3:30-5:10 in room 245CN.
- Exams:
- There will be quizzes, a midterm, and a
final. All are closed-book. First quiz, 15 January.
- Grading:
- Midterm: 20%. Final: 35%. Quizzes: 20%. Machine problems: 25%.
- Assignments
- There will be a variety of written
assignments and some machine problems (details in preparation)
- Attendance:
- I will take attendance and it can affect your grade. When in doubt,
come to class!
Return to Prof. Futrelle's home page