8
50.003 Elements of Software Construction with a focus on concurrency http://people.sutd.edu.sg /~sunjun/teach/50-003/

50.003 Elements of Software Construction with a focus on concurrency sunjun/teach/50-003

Embed Size (px)

Citation preview

Page 1: 50.003 Elements of Software Construction with a focus on concurrency sunjun/teach/50-003

50.003 Elements of Software Construction

with a focus on concurrency

http://people.sutd.edu.sg/~sunjun/teach/50-003/

Page 2: 50.003 Elements of Software Construction with a focus on concurrency sunjun/teach/50-003

Instructor: Sun Jun

Sun JunFather of Two Computer ScientistLikes AlgorithmsVulcan Type• Black/White guy• Overly rational• Likes to argue Office: 1.302-11

[email protected]

Page 3: 50.003 Elements of Software Construction with a focus on concurrency sunjun/teach/50-003

Teaching Assistant: Li Jiaying

Li JiayingISTD PhD student: Software EngineeringSupervisor: Sun JunMultithread programming verification

Consultation: Tue. 4:30-6:30, 2.716 [email protected]

Page 4: 50.003 Elements of Software Construction with a focus on concurrency sunjun/teach/50-003

Course PlanWeek 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 Guest Talks

2 (Feb 2) Introduction to Software Design and UML Problem Set 1

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 Problem Set 4; Quiz 2

6 (Mar 2) Thread Safety and Synchronization Project Meeting II Problem Set 5

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 Project Meeting III Problem Set 8; Quiz 4

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)

Page 5: 50.003 Elements of Software Construction with a focus on concurrency sunjun/teach/50-003

Components

• Problem Sets – 20%• Quizzes – 10%• Course Project – 40%• Final Exam – 30%

The project weights more than the exam.

Page 6: 50.003 Elements of Software Construction with a focus on concurrency sunjun/teach/50-003

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!

Page 7: 50.003 Elements of Software Construction with a focus on concurrency sunjun/teach/50-003

7

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

Page 8: 50.003 Elements of Software Construction with a focus on concurrency sunjun/teach/50-003

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.