Syllabus
ITI 1121. Introduction to Computing II (Sections A, B, C)
Tommaso Cesari (Section A) and Mehrdad Sabetzadeh (Section B and C)
tcesari@uottawa.ca, msabetza@uottawa.ca
Winter 2024
Course Web site
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/winter2024/iti1121/home. Please create an account and enrol there as soon as possible at https://piazza.com/uottawa.ca/winter2024/iti1121.
Schedule
The first lecture will be held on Monday, January 8, 2024, for Section A and C, and on Wednesday, January 10, 2024, 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 15th. 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:
Tommaso Cesari (Section A): Thursday 14:00-15:00
Mehrdad Sabetzadeh (Sections B and C): Monday 14:00-15:00
Laboratory Schedule
Consult your uoZone Account for the schedule of your laboratory section.
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, 3 hours of lecture per week, 3 hours of laboratory per week, 3 credits.
Learning objectives
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
Course outline
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
Evaluation of student learning
There will be a midterm test, a final examination, as well as four assignments.
The midterm test will be held on Saturday March 2, 2024 from 5PM to 7PM.
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: February 2, 2024
Assignment 2: February 26, 2024
Assignment 3: March 22, 2024
Assignment 4: April 12, 2024
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.
Textbooks
On the course Web site you will find the suggested readings for each lecture:
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)
Attendance to classes
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."
Plagiarism
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.
Information sharing and copyright
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.
Counselling service
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.
Access service
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.
Policy – Prevention of sexual violence
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