ITI 1121. Introduction to Computing II=1Please don`t print these

advertisement
Preamble
Course Information
Academic Integrity
Content
Epilogue
Preamble
Course Information
Academic Integrity
Content
Epilogue
Administration
ITI 1121. Introduction to Computing II†
Objectives:
1. Learning the requirements for this course
2. Understanding the consequences of plagiarism
Rafael Falcon and Marcel Turcotte
(with contributions from R. Holte)
Electrical Engineering and Computer Science
University of Ottawa
Important material:
I
Course syllabus
http://www.eecs.uottawa.ca/∼rfalc032/ITI1121.html
I
Lecture notes, labs, assignments, etc. on Virtual Campus
https://www.maestro.uottawa.ca
Version of January 16, 2012
I
Academic Integrity
http://web5.uottawa.ca/mcs-smc/academicintegrity/home.php
I
†
Plagiarism http://www.uottawa.ca/plagiarism.pdf
Please don’t print these lecture notes unless you really need to!
R. Falcon and M. Turcotte
R. Falcon and M. Turcotte
ITI 1121. Introduction to Computing II
Preamble
Course Information
Academic Integrity
Content
Epilogue
ITI 1121. Introduction to Computing II
Preamble
Course Information
Academic Integrity
Content
Epilogue
MOTD: Message of the day
Syllabus summary (I)
Computer glitch behind Qantas A330 terror plunge.
I
I
I
Software faults in two computerized flight control systems of the
Qantas-operated Airbus A330 on the flight from Singapore to Perth
caused the aircraft to plunge off Australia’s west coast in 2008.
I
I
I
The incident injured over 140 passengers and 9 of the 12 crew.
The investigation report released last December 2011 described the
incident as “a unique event that was extremely unlikely to happen
again” and prompted Airbus to redesign its software for the altitude
sensors, which had only been known to report innacurate data
3 times over 128 million hours of operation.
Week 1: Computer architecture model. Java data types.
Weeks 2 - 4: Object-oriented programming in Java
I
I
I
Weeks 5 - 6: Abstract Data Types (ADT) in Java
I
I
I
Encapsulation
Inheritance
Polymorphism
Stack
Linked Stack
Week 7: Study Break
Read the article here.
R. Falcon and M. Turcotte
ITI 1121. Introduction to Computing II
R. Falcon and M. Turcotte
Preamble
Course Information
Academic Integrity
Content
Epilogue
Preamble
Course Information
Academic Integrity
Content
Epilogue
Syllabus summary (II)
Important Information
I
I
Week 8: Abstract Data Types (ADT) in Java
I
I
I
I
I
I
I
I
Queue (1 & 2)
Queue (3)
List
Linked List
Recursive List Processing
Binary Search Tree
I
I
I
I
I
ITI 1121. Introduction to Computing II
R. Falcon and M. Turcotte
I
I
I
I
I
I
ITI 1121. Introduction to Computing II
Preamble
Course Information
Academic Integrity
Content
Epilogue
About me
I
TA: Farid Seifi (fseif050@uottawa.ca)
Office hours: Friday 13:00–14:00, Brooks Residence Room 435
Instructor’s office hours: Thursday 10:00–11:00 (STE 5012)
Office hour’s slots assigned on a first-come-first-serve basis.
No booking by email in advance!
Preamble
Course Information
Academic Integrity
Content
Epilogue
I
TA: Mustafa Emre Dincturk (mdinc075@uottawa.ca)
TA Office hours: Thursday 11:00–12:00 (STE 4009)
Lab 3: Tuesday 14:30–17:30 (STE 0131)
I
I
TA: Xiaoguang Wang (bwang009@uottawa.ca)
TA Office hours: Thursday 14:00–15:00, SITE 3033
Lab 2: Monday 19:00–22:00 (STE 2060)
I
I
R. Falcon and M. Turcotte
Lectures: Tuesday 10:00–11:30 and Thursday 08:30–10:00
(DMS 1110)
Lab 1: Saturday 09:00–12:00 (STE 2060)
I
End of Week 8: Midterm exam, Saturday March 3rd
Weeks 9 - 13: Abstract Data Types (ADT) in Java
I
ITI 1121. Introduction to Computing II
Evaluation
1998-2003 Bachelor in Computer Science
(Universidad Central de Las Villas, Cuba)
2004-2006 Master in Computer Science
(Universidad Central de Las Villas, Cuba)
2008-2012 PhD in Computer Science
(University of Ottawa, Canada)
Research interests: computational intelligence,
wireless sensor networks, robotics
About 8 years of teaching experience
Email: rfalcon@uottawa.ca
Office: STE 5-012
Telephone: (613) 562-5800 ext 2141
R. Falcon and M. Turcotte
ITI 1121. Introduction to Computing II
I
Midterm test: 20 %
I
Final exam: 40 %
I
Assignments (4): 30 %
I
Laboratories (12): 10 %
The combined mark for the examinations must be at least 50%.
A failure in the examinations implies a failure for the course!
R. Falcon and M. Turcotte
ITI 1121. Introduction to Computing II
Preamble
Course Information
Academic Integrity
Content
Epilogue
Preamble
Course Information
Academic Integrity
Content
Epilogue
Examinations
Midterm
Assignments
I
Saturday March 3rd 2012, 10:00-13:00
Room: STE H-0104
Closed book
I
Closed book
I
I
Final
R. Falcon and M. Turcotte
I
5 assignments
I
Each one counts. Total: 30%
I
Should run under Java SE JDK 5.0 or higher,
as installed in EECS labs
I
Excellent preparation for the midterm and final examinations
I
Each assignment is done in teams of two or individually
ITI 1121. Introduction to Computing II
R. Falcon and M. Turcotte
Preamble
Course Information
Academic Integrity
Content
Epilogue
Preamble
Course Information
Academic Integrity
Content
Epilogue
Assignments: PostScript Interpreter
R. Falcon and M. Turcotte
Assignments: PlayList Manager
ITI 1121. Introduction to Computing II
R. Falcon and M. Turcotte
Preamble
Course Information
Academic Integrity
Content
Epilogue
ITI 1121. Introduction to Computing II
Preamble
Course Information
Academic Integrity
Content
Epilogue
Assignments: Protein Folding via Genetic Algorithms
R. Falcon and M. Turcotte
ITI 1121. Introduction to Computing II
Assignments: Sensor-Assisted Robot Exploration
ITI 1121. Introduction to Computing II
R. Falcon and M. Turcotte
Preamble
Course Information
Academic Integrity
Content
Epilogue
ITI 1121. Introduction to Computing II
Preamble
Course Information
Academic Integrity
Content
Epilogue
Laboratories
Academic Integrity
Copying of assignments, even with substantial changes, is a serious
form of academic fraud and will not be tolerated.
The possible penalties for academic fraud are listed in the Policy
on Academic Fraud:
I
Hands on exercises (mainly from previous assignments)
I
But also: input-output, graphical user interface and JUnit
testing
I
Start during the week of January 9!
I
web5.uottawa.ca/admingov/regulation 13.html
I
In most labs, there will be a quiz worth 1 mark. Total: 10
marks
I
web5.uottawa.ca/mcs-smc/academicintegrity/home.php
I
www.uottawa.ca/plagiarism.pdf
R. Falcon and M. Turcotte
ITI 1121. Introduction to Computing II
R. Falcon and M. Turcotte
ITI 1121. Introduction to Computing II
Preamble
Course Information
Academic Integrity
Content
Epilogue
Preamble
Course Information
Academic Integrity
Content
Epilogue
Academic Fraud
Academic Fraud: Assignment 1
I
All the parties involved will be penalized
I
Students giving away their solution to others will be
penalized
I
Do not let anyone know your password
I
Do not leave your workstation unattended while you are
logged in
It is your responsibility to ensure that your work is not copied by
someone else.
R. Falcon and M. Turcotte
This part of the assignment is meant to raise awareness concerning
plagiarism and academic fraud. Please read the following
document.
I
web5.uottawa.ca/admingov/regulation 13.html
By submitting this assignment, you acknowledge 1)
having read the above document and 2) you
understand the consequences of plagiarism.
ITI 1121. Introduction to Computing II
R. Falcon and M. Turcotte
Preamble
Course Information
Academic Integrity
Content
Epilogue
Preamble
Course Information
Academic Integrity
Content
Epilogue
Academic Fraud: Cases
I
Programming Environment
Someone asks you for your assignment
I
I
I
I
this is a friend
he/she is too late to complete the assignment. . .
all parties involved get 0
Other sanctions, the file is sent to the Vice-Dean of Academic
Affairs: student gets 0, for the assignment, for all the
assignments, for all the non-test components of the course,
for the course, student is required to take an ethic course,
student is expelled.
R. Falcon and M. Turcotte
I
Command-line tools (javac, java, jar)
I
DrJava, BlueJ, Eclipse, NetBeans, Emacs, etc.
I
NetBeans is the official programming environment for this
course.
ITI 1121. Introduction to Computing II
R. Falcon and M. Turcotte
Preamble
Course Information
Academic Integrity
Content
Epilogue
I
I
ITI 1121. Introduction to Computing II
Preamble
Course Information
Academic Integrity
Content
Epilogue
Course Objectives
I
ITI 1121. Introduction to Computing II
Difficulties
Our main objective is to develop a strong understanding of
abstract data types (ADT), and in particular of stacks,
queues, lists and binary search trees
In order to develop elegant and robust implementations, a
good understanding of the concepts of object-oriented
programming is needed: encapsulation, inheritance and
polymorphism.
An introduction to graphical user interfaces (GUI) as well as
input/output systems (I/Os) will be presented.
R. Falcon and M. Turcotte
ITI 1121. Introduction to Computing II
I
The high level concepts are easy to grasp
I
The main difficulty is to translate these high level concepts
into concrete implementations
I
Do all the assignments!
I
Do all the laboratories!
I
Try having a positive attitude towards programming
I
Smile!
R. Falcon and M. Turcotte
ITI 1121. Introduction to Computing II
Preamble
Course Information
Academic Integrity
Content
Epilogue
Difficulties (cont’d): ITI1121 2011
21
25
12
8
12
4
3
1
2
9
7
10
26
15.0%
17.9%
8.6%
5.7%
8.6%
2.9%
2.1%
0.7%
1.4%
6.4%
5.0%
7.1%
19.7%
R. Falcon and M. Turcotte
A+
A
AB+
B
C+
C
D+
D
E
F
INC
Withdraw
ITI 1121. Introduction to Computing II
We tend to look at the teacher/learner relationship
the wrong way around: it’s not that the teacher
teaches; it’s that the student learns.
Pragmatic Thinking and Learning — Andy Hunt
Preamble
Course Information
Academic Integrity
Content
Epilogue
Preamble
Course Information
Academic Integrity
Content
Epilogue
Textbook
I
Textbook (alternative)
Can you recommend a more affordable textbook?
E. B. Koffman and P. A.
Wolfgang. Data
Structures: Abstraction
and Design Using Java.
John Wiley & Sons, 2nd
edition, 2010.
R. Falcon and M. Turcotte
I
E. Koffman and P. Wolfgang
(2005) Objects,
Abstraction, Data
Structures and Design:
Using Java Version 5.0.
Wiley, 880 pages. (ISBN:
0-471-69264-6)
ITI 1121. Introduction to Computing II
R. Falcon and M. Turcotte
Preamble
Course Information
Academic Integrity
Content
Epilogue
Preamble
Course Information
Academic Integrity
Content
Epilogue
Textbook (alternative)
Textbook (alternative)
Can you recommend a more affordable textbook?
I
Can you recommend an even more affordable textbook?
E. Koffman and P. Wolfgang
(2005) Objects,
Abstraction, Data
Structures and Design:
Using Java. Wiley, 864
pages. (ISBN:
0-471-46756-1)
R. Falcon and M. Turcotte
I
I
CSI 1101. Introduction to Computer Science II
ISBN = 0-390-38637-5 (or 0-390-384631).
Java Structures: Data Structures in Java for the
Principled Programmer by Duane A. Bailey
I
www.cs.williams.edu/∼bailey/JavaStructures/Book.html
ITI 1121. Introduction to Computing II
R. Falcon and M. Turcotte
Preamble
Course Information
Academic Integrity
Content
Epilogue
Textbook (alternative)
I did not understand objectoriented programming at all
last Fall, can you recommend
a good introduction to objectoriented programming?
I have no prior knowledge of
Java, can you recommend a
textbook?
P. Sestoft. Java Precisely.
The MIT Press, second
edition edition, August
2005. ($ 16.07)
R. Falcon and M. Turcotte
I
D. J. Barnes and M. Kölling.
Objects First with Java:
A Practical Introduction
Using BlueJ. Prentice Hall,
4e edition, 2009.
ITI 1121. Introduction to Computing II
R. Falcon and M. Turcotte
Preamble
Course Information
Academic Integrity
Content
Epilogue
ITI 1121. Introduction to Computing II
Preamble
Course Information
Academic Integrity
Content
Epilogue
Netiquette (RFC 1855)
Netiquette
I
www.dtcc.edu/cs/rfc1855.html
I
This document provides a minimum set of guidelines for
Network Etiquette (Netiquette) which organizations may take
and adapt for their own use.
I
. . . general, it’s a good idea to at least check all your mail
subjects before responding to a message . . .
I
. . . overnight to send emotional responses to messages . . .
I
. . . should have a subject heading . . .
Subject: ITI1121B - Assignment 1, question 3
Greetings,
Body of the message.
Your name
Student id
I
R. Falcon and M. Turcotte
ITI 1121. Introduction to Computing II
Preamble
Course Information
Academic Integrity
Content
Epilogue
Textbook (alternative)
I
ITI 1121. Introduction to Computing II
ITI 1121. Introduction to Computing II
Beware spam traps are particularly sensitive to E-mails from
yahoo, hotmail, etc.
R. Falcon and M. Turcotte
ITI 1121. Introduction to Computing II
Preamble
Course Information
Academic Integrity
Content
Epilogue
Preamble
Course Information
Academic Integrity
Content
Epilogue
Summary
References I
I
Combined score for examinations must be at least 50%
I
Do all the assignments
I
Do all the laboratories
I
Plagiarism will not be tolerated
E. B. Koffman and Wolfgang P. A. T.
Data Structures: Abstraction and Design Using Java.
John Wiley & Sons, 2e edition, 2010.
P. Sestoft.
Java Precisely.
The MIT Press, second edition edition, August 2005.
D. J. Barnes and M. Kölling.
Objects First with Java: A Practical Introduction Using BlueJ.
Prentice Hall, 4e edition, 2009.
R. Falcon and M. Turcotte
ITI 1121. Introduction to Computing II
Preamble
Course Information
Academic Integrity
Content
Epilogue
Please don’t print these lecture notes unless you really need to!
R. Falcon and M. Turcotte
ITI 1121. Introduction to Computing II
R. Falcon and M. Turcotte
ITI 1121. Introduction to Computing II
Download