ITI1121 Introduction to Computing II (Summer 20015): course description

Object-oriented programming. Abstraction principles: information hiding and encapsulation.
Linked lists, stacks, queues, binary search trees. Iterative and recursive processing of data structures. Virtual machines.
Prerequisite: ITI1120.
PROFESSOR: Lucia Moura
tel: 562-5800 ext. 6678
OFFICE HOURS: Professor's office: SITE 5-027 
Professor consultation hours: Mondays 14:30-16:30
LECTURES: Lecture 1: Monday 13:00 - 14:30 MRT 212
Lecture 2: Wednesday 11:30 - 13:00 MRT 212
LABS: Each students must be registered and attend one of the mandatory labs:
Laboratory 1: Wednesday 13:00 - 16:00 CBY B02
Laboratory 2: Tuesday 11:30 - 14:30 STE 2060
Laboratory 3: Friday 11:30 - 14:30 STE 2060
TEACHING ASSISTANTS: Abdullah Aref, email:
Colin Bellinger, email:
Deepika Deepika, email:
Lachlan Plant, email:
Mohammad Mahmoud Alja'Afreh, email:

  • Further training in programming concepts, particularly object-oriented programming and linked structures.
  • Thorough treatment of basic data structures (stacks, queues, linked lists, and binary search trees).
  • A basic understanding of virtual machines.
  • A solid foundation for further studies in computer science.
  • Object-oriented programming and encapsulation
  • Polymorphism and inheritance
  • Polymorphism and interface
  • Abstract data type
  • Stacks implementations and algorithms
  • Virtual machines
  • Queues implementations and algorithms
  • Linked implementations, linked lists
  • Recursive list processing
  • Binary search trees

TEXTBOOKS: Main textbook (suggested readings will be indicated for each lecture):
  • E. Koffman and P. Wolfgang (2010) Data Structures: Abstraction and Design Using Java, Second Edition. Wiley, 832 pages. (ISBN: 978-0-470-12870-1)

  • A free textbook that covers most of the material presented in class:
  • Java Structures: Data Structures in Java for the Principled Programmer by Duane A. Bailey

  • Students that received advanced standing for ITI1120 and don't have a good command of Java may want to buy the following textbook:
  • Java Precisely, 2nd Edition by Peter Sestoft. MIT Press, August 2005. (ISBN: 978-0-262-69325-7)

    Class attendance is mandatory. As per academic regulations,

    To be admitted to the final examination in a subject, a student must attend a minimum of 80% of classes and must not have more than five unauthorized or unjustified absences in that subject.

    There will a midterm test, a final examination, as well as four assignments.
    The midterm test will held on Sunday June 21, 2015, from 10:00 to 12:00, at room: ART033.
    The (4) assignments will be announced in class, and posted on the course Web site. Every assignment counts and constitutes an excellent preparation for the final.
    Policy on missed midterm: if you have a justifiable reason to miss the midterm, you may be granted permission to miss it and the points of the midterm will be transferred to the final. The professor must be informed before the date of the midterm and grant such permission.
    Each assignment must be done individually by each student. Copying of assignments, even with superficial changes, is a serious form of academic fraud and will not be tolerated. The possible penalties for academic fraud are listed in the Faculty of Engineering undergraduate calendar and will be applied to all students involved. Consult the following web documents:

    Further information regarding plagiarism will be discussed in the first lecture.

    MARKING SCHEME: 25 marks (A) Assignments (programming)
    10 marks (L) Laboratories (participation + quizzes)
    25 marks (M) Midterm test
    40 marks (F) Final Exam
    100 marks (G) Grade

    if (M+F)/65 >= 50% then G= A+L+M+F
    else G=(M+F)*100/65


    weight: tentative due dates:
    Assignment 1 6.25%  around June 07
    Midterm Test 25%  Sunday June 21 10:00-12:00 room:ART033
    Assignment 2 6.25%  around June 28
    Assignment 3 6.25%  week of July 13
    Assignment 4 6.25%  week of July 27

    Dates from the University of Ottawa Academic Calendar:
    First lecture: May 4
    Reading week: May 30-June 5
    Holidays: May 18; July 1.
    Saturday lectures to make up for holidays: June 13 (Monday schedule), July 18 (Wednesday schedule)
    Last date to drop: July 17
    Last lecture: July 29
    Exam period: Aug 4-11.

    ACCESSIBILITY: The University of Ottawa is committed to ensuring full participation of all students in its activities. If you have a documented disability (or think you may have a disability) and, as a result, need reasonable accommodations to participate in this course, contact the Student Academic Success Service (SASS) as soon as possible. To receive academic accommodation, you must be registered with SASS. The University works with students confidentially, and does not disclose disability-related information without your permission.