Tommaso Cesari (Section A) and Mehrdad Sabetzadeh (Section B and C)
tcesari@uottawa.ca, msabetza@uottawa.ca
We will be using Piazza for class discussions. The system is meant to get you help fast and efficiently from classmates, the TAs, and the professor. Announcements will also be posted there.
Find our class page at: https://piazza.com/uottawa.ca/winter2025/iti1121/home. Please create an account and enrol there as soon as possible at https://piazza.com/uottawa.ca/winter2025/iti1121.
The first lecture will be held on Monday, January 6, 2025, for Section A and C, and on Wednesday, January 8, 2025, for Section B. Laboratories will start that same week with a startup lab to do on your own. Regular, graded labs start on the week of the January 13th. All lectures are given in person.
Lectures (Section A): Monday 16:00-17:20 and Wednesday 14:30-15:50
Lectures (Section B): Wednesday 16:00-17:20 and Friday 14:30-15:50
Lectures (Section C): Monday 11:30-12:50 and Thursday 13:00-14:20
Office hours:
Tom Cesari (Section A): Thursday 14:00-15:00
Mehrdad Sabetzadeh (Sections B and C): Wednesday 17:30-18:30
Consult your uoZone Account for the schedule of your laboratory section.
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, 3 hours of lecture per week, 3 hours of laboratory per week, 3 credits.
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
There will be a midterm test, a final examination, as well as four assignments.
The midterm test will be held on Saturday, March 1st, 2025, from 1:00 PM to 3:00 PM.
The four assignments will be announced in class, and posted on BrightSpace. Every assignment counts and constitutes an excellent preparation for the final. The tentative due dates for the assignments are:
Assignment 1: January 31, 2025
Assignment 2: February 24, 2025
Assignment 3: March 14, 2025
Assignment 4: April 4, 2025
Marking scheme
Assignments = 25 marks
Laboratories = 10 marks (Note: Labs are automatically graded using our code grader tool.)
Midterm test = 25 marks
Final examination = 40 marks
Calculation of your final grade:
Given a valid reason (e.g., medical) for missing the midterm test, the mark of the final examination will also be used as the mark of the midterm test.
You do not need to purchase any textbooks for this course; the detailed course slides provided to you should be sufficient. However, if you prefer to supplement your learning with a textbook, suggested readings for each lecture are available on the course website, referencing the following books:
E. Koffman and P. Wolfgang (2016) Data Structures: Abstraction and Design Using Java, 3rd Edition. Wiley, 684 pages. (ISBN: 978-1-119-18652-6)
OR E. Koffman and P. Wolfgang (2010) Data Structures: Abstraction and Design Using Java, Second Edition. Wiley, 832 pages. (ISBN: 978-0-470-12870-1)
Here is 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
The following textbook is a short and useful resource.
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."
Academic fraud is an act by a student that may result in a false evaluation (including papers, tests, examinations, etc.). It is not tolerated by the University. Any person found guilty of academic fraud will be subject to severe sanctions. Here are some examples of academic fraud:
Plagiarism or cheating of any kind;
Present research data that has been falsified;
Submit a work for which you are not the author, in whole or part;
Submit the same piece of work for more than one course without the written consent of the professors concerned.
Please consult this webpage: it contains regulations and tools to help you avoid plagiarism.
An individual who commits or attempts to commit academic fraud, or who is an accomplice, will be penalized. Here are some examples of possible sanctions:
Receive an “F” for the work or in the course in question;
Imposition of additional requirements (from 3 to 30 credits) to the program of study;
Suspension or expulsion from the Faculty.
You can refer to the regulations on this webpage.
All documents prepared by the course instructor, including assignments, course notes, and exams, are protected by copyright. Copying, digitizing, or publishing on a web site is therefore a violation of copyright and is illegal.
There are many reasons to take advantage of the Counselling Service. They offer:
Personal counselling
Career counselling
Study skills counselling
Further information is available here.
The Access Service acts as an intermediary between students, their faculty and other University offices to ensure that the special needs of these students are addressed and that the best possible learning conditions are being offered.
Note that the University of Ottawa is affiliated with AERO and ACE services for the adaptation of accessible academic materials for students with perceptual disabilities. If you have any questions, please contact the Accessibility Librarian or check the Access services for textbooks.
The University of Ottawa will not tolerate any act of sexual violence. This includes acts such as rape and sexual harassment, as well as misconduct that take place without consent, which includes cyberbullying. The University, as well as various employees and student groups, offers a variety of services and resources to ensure that all uOttawa community members have access to confidential support and information, and to procedures for reporting an incident or filing a complaint. For more information, please visit https://www.uottawa.ca/about-us/respect/sexual-violence-support-and-prevention
Except in programs and courses for which language is a requirement, all students have the right to produce their written work and to answer examination questions in the official language of their choice, regardless of the course’s language of instruction.