Fall 2011, ITI 1120 A, B Introduction to Computing I
Instructor: Diana Inkpen
Office: SITE 5015
E-mail: diana@site.uottawa.ca Telephone:
562-5800 ext. 6711
Meeting Times and Locations
Lectures:
See InfoWeb
Office Hours: Thu 10:30-12:30, in SITE
5015, or by email appointment.
Overview: 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 parameter
passing. Recursion. Fundamental data structures: arrays, strings,
matrices, records. Introduction to objects. (3 hours lecture,
3 hours lab per week)
Announcements
- NEW!!! The final marks and the exams marks are posted. The solution
to the exam is here. The final marks
were rounded up. On Jan 10, 1-3pm,
you will have a chance to see your exam (in SITE
5015), if you need. You can ask for re-marking then (not by
email). For students who did not write the final exam, the mark is INC
(incomplete, equivalent to F).
- The last day of classes in Mon, Dec 5. There is no class on Wed
Dec 7 because only one section will have the extra class. Instead
there will be more office hours before the exam. Every Thu
10:30-12:30 till Dec 22 (inclusively), plus Wed Dec 21, 12:30-2:00 pm.
- There is a study group for students who need extra help before
the exam. Leader: Anvesh Aluwala (aaluw006@uottawa.ca). Monday, 10-11:30am, in STE 2052
Wednesday, 2:30pm-4pm, in STE 0131
- There was a quiz in the class Nov Dec 5. About objects.
Solution to quiz8.
- There was a quiz in the labs Nov 30,Dec 1, 2. About objects.
Solution to quiz7.
- Assignment 5 is posted. The deadline was extened till Dec 7, 22:00. If
you need a source of inspiration, see
Assignement 8 from 2005 that was discussed in class. Some java classes are
similar to the ones from your Assignment 5.
Link to assignments from 2005
- Exam preparation page
- There was a quiz in the labs Nov 23,24,25. About
multi-dimensional arrays. Solution to
quiz6.
- Assignment 4 deadline was extended till Tue Nov 22, 10pm.
- There was a quiz in the labs Nov 16,17,18. About recursion.
Solution to quiz5.
- There was a quiz in class Nov 9, 10. About passing arrays
as parameters.
Solution to quiz4.
- Assignment 4 is posted.
- There was a quiz in the labs Nov 2,3,4. About arrays and
Strings. Solution to quiz3.
- Solution to midterm
- There will be extra office hours Oct 30, 1-2pm, in SITe 5015, in case
you have last
minute questions for the midterm.
- Midterm preparation page
The midterm is on Sun Oct 30, 2pm-3:30pm in SITE G0103 (section A -
the one that has lectures on HGN 302) and
SITE H0104 (section B - the one that has lectures in SMD 425). The
material for midterm included Section 6 (except the last 5 slides about
Strings).
- Assignment 3 is posted.
- Assignment 2 deadline was extended till Mon Oct 17, 10:30am.
- There are some programming jobs for students at Canada Revenue
Agency (www.cra-arc.gc.ca/crrs/). There is an info session abou this in
Desmarais building, room 2140, Oct 19th from 4-5:30 pm.
- There was a quiz in the labs Oct 13,14,15. About branches (if
statements) and boolean expressions.
Solution to quiz2.
- Quiz1 was in class Oct 5,6.
Solution to quiz1.
- Assignment 2 is posted.
- Old exam from 2004. Can also be
used as example of challenge exam.
- Assignment 1 is posted. The deadline was extended with one week.
Here
is an example of solution to an old
assignment.
- The lecture on Sept 7 is canceled because of the Undergraduate
Education Day (all classes are cancelled for the Faculty of
Engineering on Sept 7). The class of Sept 8 is on.
- The labs start the second week, the first labs are on Sept 14,15,16.
There are no labs
Sept 7,8,9.
- Things to do right away
Evaluation Students will be evaluated on:
- Five programming assignments (5% each, that is 25% for all).
- Five quizzes (1% each, that is 5% for all) (there will be
8 quizzes and we will select the best 5).
- Midterm exam (20%)
- Final exam (50%)
- There will be bonus points for class participation
Note: The weighted average
of your midterm and final exam has to be at least 50% in order to pass
the course.
Course Policies:
Plagiarism
Missed assignments; absence from the
midterm or final examination
Class attendance is mandatory. As per academic regulations,
students
who do not attend 80% of the class will not be allowed to write the
final examinations.
All components of the course (assignments, etc.)
must be fulfilled otherwise students may receive
an INC as a final mark (equivalent to an F).
Note: The assignments will be
submitted electronically
through Virtual
Campus. No late assignments are accepted.
Timetable
- Practice assignment
0
- Assignment 1, due Sat Sept 24,
10pm, extended till Sat, Oct 1, 10pm
Solution
- Assignment 2, due Sat Oct 15,
10pm Solution Trace
for 2b.
-
Midterm, Sun Oct 30, 2pm-3:30pm in SITE G0103 (section A) and
SITE H0104 (section B)
- Assignment 3, due Sat
Nov 5, 10pm Solution
- Assignment 4, due Sat
Nov 19, 10pm (in groups of two students), extended till Tue Nov 22,
10pm. Solution
A4Q2BoardLib.java
- Assignment 5 due Sat Dec 7,
22:00 (in groups of two students) Solution
Client.java
Item.java
Purchase.java
Journal.java
- Final exam (during exam period)
Software:
The Java 7
Standard
Edition, Java Development Kit (JDK). The “Dr. Java” development environment.
How to work on
your own computer.
Course notes (required)
The course notes
are available for download here.
Please print them and bring them with you at every
class.
Here is an exercize book that
you
can use to write solutions to exercises discussed in class.
More lecture notes:
Preliminaries (please read by yourself
the last part, from slide 13 to the end)
Why is this course useful?
Example: Algorithm for the average of three
numbres, plus a simple trace. Its Java
implementation.
Example: Algorithm for the area of a triangle
Solutions to examples discussed in class:
Section1
Section2
Section3
Section4
Section5
Section6
Section7
ValidCardNumber.java
DigitsLib.java
Section8
SumArray_rec.java
SumProd.java
Section9
Section10 and 11
Section 10 Student.java
StudentDriverClass.java
Section 11 Student.java
StudentDriverClass.java
Fraction.java
FractionsDriverClass.java
(The lecture notes are in pdf format, you can read them with Acrobat Reader)
Teaching assistants - Office hours
Salvador Valencia Rodriguez, Thu 9:00am-10:00am in SITE 4010
Kazi Masudul Alam, Fri 3:30pm-4:30pm in room SITE 5000D
Houman Abbasian, Thu 5pm-6pm in SITE 3033
Omar Baddredin, Tue 2-3pm in SITE 4027
Diman Ghazi, Wed 2-3pm in SIEe 4025
Colin Bellinger, Tue, 12-1:00pm in SITE 5014
Majdi Rawashdeh, Mon 3:30pm-4:30pm in SITE 5000D
Lab times and locations - see Registraton Navigator to find your lab
section.
Textbook:
(recommended)
The textbook is available at the Agora Bookstore, (operated by
the Student Federation of the University of Ottawa),
at 145 Besserer Street, near the corner of Waller.
Click
here for map to the Agora Bookstore.
You can also buy online.
This is a customized textbook for this course, with only the
necessary chapters from the textbook:
“Introduction to Java Programming,” by Y.D. Liang. (cost $51.69 plus tax)
Or you can buy a used copy of the textbook from last year's course:
"Java Programming: From The Ground Up",
by Ralph Bravaco and Shai Simonson, Mcgraw Hill Higher Education, 2009.
If you already have another
Java book, you can use it.
Other references (optional)
o
“A First Book of Java,” by G. Bronson
o
“On To Java” 3rd Edition by P. H. Winston and S. Narasimhan.
On-line version available at http://www.ai.mit.edu/people/phw/OnToJava/
o
"An Introduction to Computer Science Using Java",
by S. N. Kamin, M. D. Mickunas,
and E. M. Reingold.
o "Java Programming: From Problem Analysis to Program Design,
2nd Edition" by D.S. Malik.
o
Official Java
documentation
for library classes (the "application programmers' interface" – API)
o
Sun's Java tutorial
o
Introduction
to Programming Using Java (another online textbook)
o
Some more online tutorials