Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
www.site.uottawa.ca/~elsaddik CSI 1102 Introduction to Software Design Prof. Dr.-Ing. Abdulmotaleb El Saddik University of Ottawa (SITE 5-037) (613) 562-5800 x 6277 elsaddik @ site.uottawa.ca abed @ mcrlab.uottawa.ca http://www.site.uottawa.ca/~elsaddik/ 1 (c) elsaddik www.site.uottawa.ca/~elsaddik Multimedia Communications Dr.-Ing. Degree from Darmstadt University of Technology, Germany Assistant professor in the School of Information Technology and Engineering (SITE) I am affiliated with: • Multimedia Communications Research Laboratory (MCRLab) • Distributed Collaborative Environments Research Laboratory (DISCOVER) 2 (c) elsaddik 1 www.site.uottawa.ca/~elsaddik Students Supervision & Conf. Organization 3 (c) elsaddik • In Progress • Ph. D. (2) • MSc. (11) • Completed • MSc. (1) & Diploma theses (22) Conference organization • PC Member of several workshops & conferences • Vice Chair • Euro-Par 2003 - International Conference on Parallel and Distributed Computing, 26th - 29th August 2003 in Klagenfurt, Austria • Technical Program Chair • IEEE International Workshop on Haptic Virtual Environments and their Applications HAVE2002, Ottawa, Canada, Nov. 2002 • General Co-Chair • Second International Workshop on Software Engineering and Multimedia Applications, Baden-Baden, Germany, August 2000 www.site.uottawa.ca/~elsaddik Research Projects & Interests 4 • Research Interests • Web Engineering • Multimedia communications • Tele-Collaborative Environments • Applications in tele-learning • Web Services • Following are some of our research topics: • Reusable hypermedia systems • Layered learning objects • Advanced multimedia objects (2D, 2.5D, & 3D) • Web- and XML-Technologies • Web QoS • Web Services security and accounting (sociability) • Web services adaptability & scalability (including context awareness) • Internationalization support of collaborative environment (c) elsaddik 2 www.site.uottawa.ca/~elsaddik Publications & Technology Transfer Publications • Books authored (2): • "Interactive Multimedia Learning", ISBN: 3-540-41930-6, SpringerVerlag (2001), 200 pp. • "Open Java: Von den Grundlagen zu den Anwendungen", (Open Java: From Basics to Buildings Applications), Springer-Verlag, ISBN: 3540654461 (1999), 790 pp. • Books edited (1) • Papers in refereed journal (6) • Papers in refereed conference proceedings (23) Technology Transfer: • Product co-development: • Multibook: Springer-Verlag Germany, ISBN: 3-540-66757-1 (http://www.multibook.de ), 2000. • LOM-Editor (IEEE-Learning Object Metadata editor) (http://www.multibook.de/lom /), 2001 • Software license • (JASMINE: Java Application Sharing in Multiuser INteractive Environmnets ) with S. Shirmohammadi, N.D. Georganas and R. Steinmetz. Licensed to University of ULM, Germany 2001. 5 (c) elsaddik www.site.uottawa.ca/~elsaddik Fun Question 1: If you knew a woman who was pregnant, • who had 8 kids already, • three of whom were deaf, • two of whom were blind, • one mentally retarded, • and she had syphilis... • would you recommend that she have an abortion? 6 (c) elsaddik 3 www.site.uottawa.ca/~elsaddik Fun Question 2. It is time to elect a world leader, and your vote counts. Here are the facts about the three leading candidates: • Candidate A: • Associates with crooked politicians and consults with astrologists. He's had two mistresses. He also chainsmokes and drinks 8 to 10 martinis a day. • Candidate B: • He was kicked out of office twice, sleeps until noon, used opium in college, and drinks a quart of whiskey every evening. • Candidate C: • He is decorated war hero. He's a vegetarian, doesn't smoke, drinks an occasional beer, and hasn't had any extramarital affairs. 7 (c) elsaddik www.site.uottawa.ca/~elsaddik Fun Candidate A: • Franklin D. Roosevelt Candidate B: • Winston Churchill Candidate C: • Adolph Hitler And by the way: Answer to the abortion question: • If you said yes, • you just killed Beethoven. 8 (c) elsaddik 4 CSI1102: Introduction to Software Design Class 0: Overview & Admin www.site.uottawa.ca/~elsaddik Professor’s details (Group A) Dr.-Ing. Abdulmotaleb El Saddik Office: Room 5-037 SITE Building URL: http://www.site.uottawa.ca/~elsaddik Email: elsaddik@site. uottawa.ca Phone: 562 5800 x 6277 Answering your questions: • Office hours: • Tuesday 14:00 - 15:30 • Thursday 10:30 - 12:00 10 (c) elsaddik • or by e-mail appointment • Email: Within 2 working days (no e-mails read over weekends) 5 www.site.uottawa.ca/~elsaddik Formal Course Description This course introduces students to the fundamentals of software design. We will introduce the concepts of • software design and pseudo-code; object-oriented programming; and • abstraction principles including virtual machines, information hiding and encapsulation; • simple data structures, including linked lists, stacks and queues, and their applications; • the iterative and recursive processing of data structures. Lab work will be done in the Java programming language. Prerequisite: GNG1101 or CSI1100 Hours: 3 hours of lecture per week, 3 hours of lab per week, 4 credits 11 (c) elsaddik www.site.uottawa.ca/~elsaddik Focus on Object-Oriented Software Development problem solving program design, implementation, and testing object-oriented concepts • classes • objects • interfaces • inheritance • Polymorphism Using the Java programming language 12 (c) elsaddik 6 www.site.uottawa.ca/~elsaddik Course description What? • Good software design principles • Problem solving skills Why? • High quality software design à good programming principles à high quality code How? • Theory à Practice (In Java) 13 (c) elsaddik www.site.uottawa.ca/~elsaddik Prescribed Book Java Software Solutions, Third Edition J. Lewis and W. Loftus Addison Wesley, 2003 ISBN 0-201-78129-8 Website: www.aw.com/cssupport We will follow the book quite closely à get one! 14 (c) elsaddik 7 www.site.uottawa.ca/~elsaddik Evaluation/Mark allocation The final mark will be calculated as follows. 4 Labs 4 x 5 points = 20 points 1 Midterm 20 points Examination 60 points Total 100 points You should obtain at least 30/60 (50%) for the final examination in order to pass this course. 15 (c) elsaddik www.site.uottawa.ca/~elsaddik Theory course outline Week of Material Text book chapters Jan 6-10 Information about course Introduction to computer systems, Java Chapter 1 Jan 13-17 Introduction to objects and primitive data Chapter 2 Jan 20-24 Program statements Chapter 3 Jan 27-31 Writing classes Chapter 4 Feb 3-7 Enhanced classes Chapter 5 Feb 10-14 Arrays and Vectors Chapter 6 Feb 17-21 Study Break Feb 24-28 Mid Term During Lecture Time Group A: Thursday February 27 Group B: Wednesday February 26 Group C: Wednesday February 26 Chapters 1-6 16 (c) elsaddik 8 www.site.uottawa.ca/~elsaddik Theory course outline (cont) Week Topic Text book chapters Mar. 3-7 Inheritance Chapter 7 Mar.10-14 Graphical User Interfaces Chapter 9 Mar. 17-21 Recursion Chapter 11 Mar. 24-28 Data structures Chapter 12 Mar. 21Apr. 4 Software engineering Chapter 10 Apr. 7-9 Revision 17 (c) elsaddik www.site.uottawa.ca/~elsaddik About the TAs All TAs are available for any lab question from any student in CSI1102. The names, office hours and venues of the TAs will be placed on the CSI1102 course website as soon as it has been finalized. You are allowed to attend any other practice labs in addition to your scheduled lab. • à But, of course, scheduled students get priority if the lab is full • Just go to the lab, wait 5 minutes that everyone in installed. If there is space, you can join. 18 (c) elsaddik 9 www.site.uottawa.ca/~elsaddik About the labs Total of four (4) labs Allocated 2 -3 weeks per lab: à practice time and demos/marking For example, during the week of 13 January 2003, you attend the lab and complete assignment 1. This assignment will subsequently be marked in the lab a week later, during the week of 20 January 2003. You are required to attend your scheduled lab to demonstrate you projects to the TA. This is the only place/time/way that assignments will be marked. 19 (c) elsaddik www.site.uottawa.ca/~elsaddik Lab groups and times Lab group Time CSI1102 AA Wednesday 19:00-22:00 Monday 16:00-19:00 Monday 19:00-22:00 Friday 19:00-22:00 Wednesday 10:00-13:00 Tuesday 8:30-11:30 CSI1102 AB CSI1102 BA CSI1102 BB CSI1102 CA CSI1102 CB 20 All labs take place in Colonel By, Room B02 (c) elsaddik 10 www.site.uottawa.ca/~elsaddik Lab Schedule Winter 2003 21 Week of Labs (Lab Assignments) Task Jan 6-10 No lab Jan 13-17 No lab Jan 20-24 Practice and Complete in Lab Assignment 1: Programming project 1.1 – 1.4, Lab pp. 56-57 Jan 27-31 Lab Assignment 1 Due Feb 3-7 Lab Assignment 2: Practice and Complete in Programming projects 2.2, 2.5, Lab 2.21, pp.123-135; Programming projects 3.2, 3.5, pp.201 Feb 10-14 Lab Assignment 2 Due Feb 17-21 Study Break: No class or lab Due to be marked in scheduled lab time Due to be marked in scheduled lab time (c) elsaddik www.site.uottawa.ca/~elsaddik Lab Schedule Winter 2003 (cont.) 22 (c) elsaddik Week Lab Feb 24-28 Midterm : No lab Task Mar. 3-7 Practice and Complete in Lab Lab Assignment 3: Programming projects 4.3, 4.19, pp.262-264; Programming projects 6.4, 6.16, pp. 375-377. Mar.10-14 Lab assignment 3 Due Mar. 17-21 Lab Assignment 4: Practice and Complete in Lab Programming project 7.3, pp. 442; Programming project 9.11, pp.566. Programming projects 11.2, 11.9, pp. 634 Mar. 24-28 Practice and Complete in Lab Due to be marked in scheduled lab time Mar. 21-Apr. 4 Lab Assignment 4 Due Due to be marked in scheduled lab time Apr. 7-9 No lab No lab 11 www.site.uottawa.ca/~elsaddik Activating your Lab Account (Colonel By B02) You need to go to the kiosk in CBY B109 to activate your account. Bring along: • Student number • Infoweb pin number 23 (c) elsaddik www.site.uottawa.ca/~elsaddik Working from Home A strength of Java is its portability !!!! • à you can easily work at home and just come in and demonstrate during your scheduled lab time if you so wish Options • Download Java 2 Platform, Standard Edition (J2SE) from Javasoft at the following website http://java.sun.com/j2se/1.4/download.html • The CD with the text book contains Java 2 compiler version 1.4. Read the Readme file on how to install it. Make sure you have enough disk space! 24 (c) elsaddik 12 www.site.uottawa.ca/~elsaddik Working from Home (cont) You will use a Java development environment (JDE) to develop your programs Options • RealJ (also used in Labs): Download RealJ version 3.6 from www.realj.com. Follow the instructions to install. • JDE Forte: Located on the CD which comes with the text book. 25 (c) elsaddik www.site.uottawa.ca/~elsaddik A simple Java example //************************* // An example Java program // public class Hello { //--------------------------------------// Task: Print the line “Hello World” // public static void main (String[ ] args) { System.out.println (“Hello World”); } 26 } (c) elsaddik 13 www.site.uottawa.ca/~elsaddik Overview of Next Lecture Chapter 1, Sections 1.3-1.5 • Introduction to Programming • Introduction to Programming Languages • Introduction to Graphics Note: • I assume you are familiar with the concepts as described in Sections 1.0-1.2. • Please verify by reading through these sections before Thursday January 9, 2003! 27 (c) elsaddik Homework for next class Reading: Chapter 1, Lewis and Loftus 14