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