COM 1101 Algorithms and Data Structures 1

Course Description and Catalog Information
Course Information (links to past and current course materials)
Course Format
Course Coordinator
Textbooks and References
Course Goals
Prerequisites by Topic
Major Topics Covered in Course
Laboratory Projects

Course Description

Introduces algorithms, data structures, abstraction, and encapsulation. Examines arrays, structs, classes, and templates. Discusses the creation of a data structure in layers using composition of simpler components. Uses the concept of class and template to encapsulate the functions and operations on a data structure. Studies specific classes for arrays, stacks, queues, complex arithmetic, polynomials, function objects. Introduces dynamic memory allocation for arrays and simple linked lists. Examines sorting and searching techniques and introduces recursion.

4 QH credit
Prerequisite: COM 1100 or equivalent.


Course Information

Course is offered during the Fall, Winter and Spring quarters. CS majors are guaranteed a place in class.

Course Format

BSCS03 required course
BSCS04 required course
BACS required core
BSIS required course

This is the second course for computer science and information science majors.
The course meets for three lectures per week in large sections (about 65 students).
There is one required one hour closed (supervised) lab per week.
The labs are typically taught by a graduate teaching assistant.
Main focus of homework is on programming assignments both large and small, some done in teams of two.
There is a written midterm and a final exam, and additional quizzes at the discretion of the instructor.

Course Coordinator

Professor Richard Rasala
rasala@ccs.neu.edu

Textbooks and References

Fall 2000
  • Robert Sedgewick, Algorithms in C++, Third Edition, Parts 1-4, Addison Wesley Longman, Reading, MA, 1998, ISBN: 0-201-35088-2.
  • Stanley B. Lippman & Josée Lajoie, C++ Primer, Third Edition, Addison Wesley Longman, Reading, MA, 1998, ISBN: 0-201-82470-1.omputing Concets with C++ Essentials, John Wiley & Sons, Second Edition.
  • Gnomon Copy Packets: to be announced
  • Spring 2000
  • Robert Sedgewick, Algorithms in C++, Third Edition, Parts 1-4, Addison Wesley Longman, Reading, MA, 1998, ISBN: 0-201-35088-2.
  • Stanley B. Lippman & Josée Lajoie, C++ Primer, Third Edition, Addison Wesley Longman, Reading, MA, 1998, ISBN: 0-201-82470-1.omputing Concets with C++ Essentials, John Wiley & Sons, Second Edition.
  • Gnomon Copy Packet #1: C++ Core Tools
  • Gnomon Copy Packet #2: Exam Packet
  • Gnomon Copy Packet #3: Homework & Examples

  • Course Goals

  • Learn to write programs that use dynamic memory allocation.
  • Study the fundamental principles of object oriented programming.
  • Explore different roles of classes, objects, and their interactions in the context of interesting applications.
  • Explore different roles of classes, objects, and their interactions in the context of interesting applications.
  • Learn about different structures used to represent data and its functionality.
  • Learn algorithms for manipulating different data structures.
  • Study examples of abstractions such as STL, toolkits, and templates.
  • Introduce recursion.
  • Prerequisites by Topic

    Ability to write simple programs that use repetitions and decisions, manipulate basic data types and arrays, and use functions with arguments and return values.

    Major Topics Covered in the Course

    Laboratory projects

    There are typically weekly or bi-weekly closed lab assignments where students work in pairs with assistance of a TA. There is one individual lab project that students program individually.