Course Description

Instructor: Hongwei Xi

Teaching Fellow: Konstantin Voevodski

Meeting place: GCB 209

Meeting times: Tuesday & Thursday 12:30-2PM

Instructor's Office Hours: TR:5-7PM @ MCS172

Teaching Fellow's Office Hours: M:12:30-2PM @ PSY223; R:3:30-5PM @ PSY223


I 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: Thursday, March 4, 2010
Second in-class midterm exam: Thursday, April 15, 2010
Final Exam: Friday, May 7, 2010

Teaching Staff

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

Teaching Assistant -- Konstantin Voevodski
       Office Hours: TBA
       Location: PSY 223, e-mail: kvodski AT cs DOT bu DOT edu

Grader -- TBA

Mailing List

The course mailing list is named and is managed by IT's majordomo engine.

Please be sure that you are on the CS112 mailing-list. If you have so far not received any messages posted to the mailing-list, you need to contact the instructor ASAP.

Students are welcome to post messages and questions to the mailing list.  All messages to cascs112a1-l AT cs DOT bu DOT edu are archived (click here).



Class Calendar

  • Instruction begins Thursday, January 14, 2010
  • Substitute Monday schedule of class, Tuesday, February 16, 2010
  • First in-class midterm exam scheduled on Thursday, March 4, 2010
  • Spring recess, Saturday, March 6, through Sunday, March 14, 2010
  • Second in-class midterm exam scheduled on Thursday, April 15, 2010
  • Substitute Monday schedule of class, Thursday, April 22, 2010
  • Instruction ends, Thursday, April 29, 2010
  • Final exam scheduled from 9 to 11 on Friday, May 7, 2010

    Maintained by Hongwei Xi
    Created: 2010.1.11