ITI1120 Introduction to Computing I
(3 hours of lecture per week, 2 hours of lab per week, 3 credits)
Winter 2008
Course Outline
Calendar Description: Problem solving and algorithm design. Basic principles of software
engineering: structure decomposition, documentation, testing and debugging. Variable types,
expressions and assignment. Conditional and iterative control structures. Modules and pa-
rameter passing. Recursion. Fundamental data structures: arrays, strings, matrices, records.
Introduction to objects. Includes examples of applications in various disciplines, including en-
gineering.
Professor:
Dr. Amy Felty
SITE 5-068
email:
[email protected]Lecture: Friday 17:30–20:30, Colonel By B205
Office Hours: Monday, 10:30–12:30
Course Web Page:
http://www.site.uottawa.ca/∼afelty/iti1120/
(All assignments and information for the course will be posted here.)
Course Notes, Textbook, and Lab Manual
• Course notes (required): available for purchase at the copy center in Marion 0028
• Textbook (optional): Starting Out with Java: From Control structures through Objects
by Tony Gaddis, Addison Wesley, 3rd Edition, 2007, available at Benjamin Books, 122
Osgoode
• Lab Manual: http://www.site.uottawa.ca/∼afelty/iti1120/LabManual.htm (also avail-
able in pdf format from the course web page)
Labs:
• The class has been divided into two groups.
– LAB 1: Tuesday 19:30–21:30, SITE 2060
– LAB 2: Tuesday 17:30–19:30, SITE 2060
• Labs are given by ITI1120 Teaching Assistants (TAs) and provide practical instruction
and personal assistance on using PCs, Java, etc.
1
Course Evaluation and Marking Scheme:
Assignments 25%
Midterm Exam 20%
Final Exam 55%
• The weighted average of your midterm and final exam has to be at least 50% in order to
pass the course.
• The midterm exam will take place Tuesday, February 26, 19:30–21:30 (location will be
announced in February). It will be closed book.
• The final exam will take place during the exam period in April. It will be closed book.
Assignments:
• There will be 9 or 10 weekly assignments. Every assignment counts.
• Assignments will be handed out on the course web page: You must check for it.
• Regulations and instructions for doing and handing in assignments are in the Lab Manual.
• Assignments must be done individually, except for the last one, where you will have the
option of working in groups of two. You are encouraged to work in groups of two for this
assignment. Assignments done by one person will be evaluated in the same way as those
done by a group of two.
• Java is the programming language for the assignments in this course.
• Most require using a computer. The programs you hand in must compile and run with
the Java JDK and PCs in the SITE 0110 lab.
• Late assignments will receive a grade of 0.
Course Objectives:
1. To enhance skills in problem solving and algorithm design.
2. To learn the use of an abstract, high-level program development language.
3. To learn fundamental programming concepts.
4. To acquire a foundation for further studies in Computer Science.
Course Outline:
1. Introduction to the programming process and basic principles of software engineering
2. Problem solving and algorithm design: Analysis, methods (such as recursion), decompo-
sition
3. Fundamental control structures: decisions, repetitions, methods/functions
4. Fundamental data structures: Arrays, records/structures, objects
Checklist of Things to do Right Away:
• Buy the course lecture notes.
• Obtain a computer account in the SITE 0110 lab.
• Buy the textbook (recommended) or use one of the online references.
• Read the Lab Manual.
• If you want to work on your own computer, download and install the Java development
kit (JDK) and Dr. Java.
• Tell your professor all the lab times you can attend.