50.003 Elements of Software Construction with a focus on concurrency http://people.sutd.edu.sg/~sunjun/teach/50-003/ Instructor: Sun Jun Sun Jun Father of Two Computer Scientist Likes Algorithms Vulcan Type • Black/White guy • Overly rational • Likes to argue Office: 1.302-11 sunjun@sutd.edu.sg Teaching Assistant: Li Jiaying Li Jiaying ISTD PhD student: Software Engineering Supervisor: Sun Jun Multithread programming verification Consultation: Tue. 4:30-6:30, 2.716 S6 jiaying_li@mymail.sutd.edu.sg Course Plan Week Cohort 1 (Tue. 2:30 to 4:30) Cohort 2 (Wed. 9:30 to 11:00) Cohort 3 (Thu. 12 to 2) Remarks 1 (Jan 26) Introduction to Software Development Process 2 (Feb 2) Introduction to Software Design and UML 3 (Feb 9) Introduction to Design Patterns Project Meeting I Problem Set 2; Quiz 1 4 (Feb 16) Introduction to Concurrency and Sockets Holiday Problem Set 3 5 (Feb 23) Basics of Threads 6 (Mar 2) Thread Safety and Synchronization 7 (Mar 9) Recess 8 (Mar 16) Composing Thread-safe Objects Problem Set 6; Quiz 3 9 (Mar 23) Building Blocks Problem Set 7 10 (Mar 30) Tasks and Thread Pools 11 (Apr 6) Concurrency Pitfalls and Testing Problem Set 9 12 (Apr 13) Performance and Patterns; Non-blocking Algorithms Problem Set 10; Quiz 5 13 (Apr 20) Final Project Presentation (20 minutes for each group) Project Report/Code Due 14 (Apr 27) Final Exam (9am to 11am, April 29, 2015) Guest Talks Problem Set 1 Problem Set 4; Quiz 2 Project Meeting II Project Meeting III Problem Set 5 Problem Set 8; Quiz 4 Components • • • • Problem Sets – 20% Quizzes – 10% Course Project – 40% Final Exam – 30% The project weights more than the exam. Course Project • You and your team will form a software company. • Your company is about to develop an Android App (recommended to be a multi-user game). • Your will present (with a live demo) the App in the week of April 20. You have only three months! Miscellaneous • Teams – Check out the class website to see which team you belong to • Course Website: – people.sutd.edu.sg/~sunjun/teach/esc2015/ • Discussion Forum: Piazza – https://piazza.com/class/i4e5hmdgfsu5lc • Office Hour: Thursday 2 - 4 7 Cohort Exercise 1 (15 Min) • • • • Find your group and sit together. Say hello to each other. Come up with a name for your app company. Discuss on what you would like to develop and how you plan to finish it before the deadline.