Fall 2011, ITI 1120 A, B Introduction to Computing I


Meetings
Announcements Evaluation
Timetable&Assignments Software
Course notes Labs
Textbook
Links

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

Evaluation  Students will be evaluated on:

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


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)


Lab notes   The lab notes are posted here.    
More about labs    
Read the Lab Manual: html for online viewing or pdf for download

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


Useful links