Fall 2014, ITI 1120C 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:
Fri 2:30pm-3:30pm, in SITE 5015, or by email appointment. Special office hours before the exam Dec 9, 4-5pm and Dec 10 3-4pm.

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 (Blackboard Learn). No late assignments are accepted. The assignment descriptions will be available in the Blackboard Learn.

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
Learning objectives
Java code for the algorithm for avearge of 3 numbers Average1.java Average2.java Average3.java
Algorithm for area on a circle and Java code CircleArea.java CircleArea1.java
Algorithm and Java code for for MarkResults example
Java code for testing if a character is upper case using a boolean expression
Movie tickets Tickets1.java Tickets2.java Tickets3.java
Java code for testing if two numbers are equal using a method that returns a boolean value
LeapYear0.java LeapYear1.java LeapYear2.java LeapYear3.java
Maximum of 3 numbers. Nested ifs: max3nested.java. Consecutive ifs: max3.java
Loop.java SumProd.java Factorial.java Factorial1.java LoopDiv.java GenerateRandomNumbers.java
PrimeNumbers.java MultiplicationTable.java
MethodsQuiz1.java MethodsQuiz2.java MethodsQuiz3.java
SwapInArray.java SameArray.java
SumArray.java SumArrayExceeds.java CountInArray.java FindInArray.java FindInArrayPosition.java MaxInArray.java CheckDuplicates.java CreateArray.java
SumArray_rec.java SumProd_rec.java Factorial_rec.java Recursion_examples.java
Section 10 Student.java   StudentDriverClass.java
Section 11 Student.java   StudentDriverClass.java
Fraction.java FractionsDriverClass.java

Solutions to examples from lecture notes discussed in class (to be posted as we go):
Section 1 Section 2 Section 3 Section 4 Section 5 Section 6 Section 7 Section 8 Section 9 Section 10 Section 11

(The lecture notes are in pdf format, you can read them with Acrobat Reader)


Lab notes   The lab notes will be posted in the Virtual Campus (Blackboard Learn). Lab 1 is here.    
More about labs    
Read the Lab Manual: here, and instructions about how to submit the assignments here.

Teaching assistants - Office hours
Fadi Abu Sheikha, fabus102@uottawa.ca, Mon 11am-12 in SITE 3015
Diman Ghazi, dghaz038@uottawa.ca, Wed 2pm-3pm in SITE 5116
Layth Ali Al-Ani, lalan100@uottawa.ca, Thu 10-11am in SITE 4037
Debotri Sarker, dsark007@uottawa.ca, Fri 6:30pm-7:30pm in SITE 4023

Lab times and locations - see Registraton Navigator to find your lab section.

Textbook: (required)

The textbook will be available at the Agora Bookstore, not at the campus bookstore (because Agora is 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 a Java book: Computer Science - custom publication University of Ottawa (ISBN 1256189146), based on Introduction to Java Programming,” by Y.D. Liang. (cost approx. $60)
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