Course Description

Instructor: Hongwei Xi

Teaching Fellow: Rui Shi

Meeting place: MCS B29

Meeting times: Tuesday & Thursday 9:30-11AM

Instructor's Office Hours: Tuesday 11-12 and Wednesday 4-6 at MCS 172

Teaching Fellow's Office Hours: Monday 3-5 and Friday 3-5 at MCS 174


I sincerely thank Prof. John Byers for giving me the material he prepared when teaching CS112 previously. The current course is largely based on an earlier version of his. In particular, the homework assignments are mostly taken from him.

Scope and Topics Covered

This course starts by quickly revisiting, and then building upon, advanced programming concepts in Java taught at the end of CS 111. Then, the main focus of the course is on the design, analysis and implementation of fundamental data structures used throughout computer science. These include linked lists, stacks, queues, trees, hash tables, graphs, as well as specialized methods for searching and sorting. All of our implementations will be in the the object-oriented programming language Java. The emphasis in teaching this course centers around the following:


This course is designed for students who already program with a CS 111 level of proficiency in Java. If you do not have significant previous exposure to programming, then you are requested to transfer to CS 111. You are expected to be familiar with UNIX and EMACS (or other equivalent text editor). Some help will be available in the section, but if you have not used UNIX or EMACS before, then you should attend the appropriate tutorials provided by B.U. Office of Information Technology.


First in-class midterm exam: Tuesday, February 27, 2007
Second in-class midterm exam: Thursday, April 12, 2007
Final Exam: Tuesday, May 8, 2007

Teaching Staff

Instructor -- Hongwei Xi
       Office Hours: TBA
       Location: MCS 172, e-mail: hwxi AT cs DOT bu DOT edu

Teaching Assistant -- Rui Shi
       Office Hours: TBA
       Location: MCS 174, e-mail: shearer AT cs DOT bu DOT edu

Grader -- TBA
       e-mail: TBA AT cs DOT bu DOT edu

Mailing List

The course mailing list is named cs112b1 and is managed by IT's majordomo engine. All students registered for the course should add themselves to the mailing list. To join the course mailing list, type "csmail -a cs112b1" at the Unix prompt. To inspect who else is on the mailing list, type "csmail -p cs112b1". To remove yourself from the mailing list, type "csmail -r cs112b1".

Students are welcome to post messages and questions to the mailing list.  All messages to are archived (click here).



Class Calendar

  • Instruction begins Tuesday, January 16, 2007
  • Last day to drop without W: Friday, February 16, 2007
  • Substitute Monday schedule of class, Tuesday, February 20, 2007
  • First in-class midterm exam scheduled on Tuesday, February 27, 2007
  • Last day to drop with W: Friday, March 9, 2007
  • Spring recess, Saturday, March 10, through Sunday, March 18, 2007
  • Second in-class midterm exam scheduled on Thursday, April 12, 2007
  • Instruction ends, Thursday, May 3, 2007
  • Final exam scheduled on Tuesday, May 8, 2007

    Maintained by Hongwei Xi
    Created: 2006.12.28