Fall 2014, ITI 1120C 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: 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
- The final marks were posted in the Blackboard Learn. If you need
to view your exam, you can do it on Jan 5, 1:30-3:30pm in SITE 5015.
- Exam preparation material is posted in the Blackboard Learn.
- The mentor is available if you have questions before the exam. He is
offering a free review session on Mon, Dec 8, 1-4pm in SITE 2060. You can
email him at engineering.mentor@uottawa.ca
- The midterm marks are posted in the Blackboard Learn. The solution
will be discussed in class. If you want to
see your midterm (and the solution again), stop by for office hours.
Additional office hour time: Fri Nov 7, 5:30pm-6:15pm, and Tue Nov 11,
1:30-2:20pm
- The midterm will be on Fri Oct 31, in class.
- There is a change of classroom. From now on the lectures will be in
CBY C03. (The change to a bigger classroom was done in order to allow more
students to register.)
- A mentor is available for this class, for students who might need
additional help. His name is Alexander Dale. Email: adale031@uottawa.ca
He offers One-on-One metings (SITE 2040) Tue 5:30pm to 7pm and
Thu 10am to 11:30am, as well as Group Study sessions Wed 10am to 11:30am
(SITE 2040)
and Thu 2:30pm to 4pm (CBY B02).
- Old exam from 2004. Can also be
used as example of challenge exam.
- The first lecture was Friday Sept 5. The first labs were the week
of Sept 8 (there were no labs Sept 2-5).
- Things to do right away
Evaluation Students will be evaluated on:
- Five programming assignments (5% each, that is 25% for all).
- Midterm exam (20%)
- Final exam (50%)
- Lab exercises and participation (5%) (there are 11 labs,
0.5% each lab, therefore one lab can be missed without penalty).
- 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 (Blackboard Learn). No late assignments are accepted.
The assignment descriptions will be available in the Blackboard Learn.
Timetable
- Practice assignment
0
- Assignment 1, is posted in the Blackboard Learn, due Sept 28
at 11:59pm
- Assignment 2, is posted in the Blackboard Learn, due Oct 12
at 11:59pm
- Assignment 3, is posted in the Blackboard Learn, due Oct
26,
extended till Oct 28, at 11:59pm.
- Midterm - Friday, Oct 31, 4pm-5:30pm, in class
- Assignment 4
- Assignment 5
- 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
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