In computer science, the concept of software engineering, covering how to efficiently develop software, is indispensable as well as studying various programming languages and API skills. In this lecture, focusing team development and downstream in software engineering, you study software review, project management, risk management, refactoring, software testing, software development environments, etc. Also, through applying some software engineering techniques you studied to personal software development, you give presentations their pros/cons and discuss what are practical issues.
The aim of this lecture is to learn the issues and techniques of team development and downstream in software engineering, and their practical issues.
(attainment target) By studying this lecture, you learn the issues and techniques of team development and downstream in software engineering, including human factors. Also you learn what are the practical issues through presentation and discussion about each student's development experience.
(theme) Main theme of this lecture is software review, project management, risk management, refactoring, software testing, software development environments as team development and downstream in software engineering.
software engineering, team development, downstream, software review, project management, risk management, refactoring, software testing, software development environments
✔ Specialist skills | Intercultural skills | ✔ Communication skills | Critical thinking skills | ✔ Practical and/or problem-solving skills |
Classroom learning is followed by presentation and discussion
Course schedule | Required learning | |
---|---|---|
Class 1 | Introduction, what is software engineering, downstream and upstream, Bubbles don't crash, what is software maintenance | Introduction, what is software engineering, downstream and upstream, Bubbles don't crash, what is software maintenance |
Class 2 | Coding technique, programing-in-the-small vs. programming-in-the-large | Coding technique, programing-in-the-small vs. programming-in-the-large |
Class 3 | Software review | Software review |
Class 4 | Personal software process (PSP), pair programming | Personal software process (PSP), pair programming |
Class 5 | project management, human/social factors, silver bullet | project management, human/social factors, silver bullet |
Class 6 | project productivity | project productivity |
Class 7 | risk management, death march, case study of Denver Airport | risk management, death march, case study of Denver Airport |
Class 8 | refactoring | refactoring |
Class 9 | bad smells | bad smells |
Class 10 | software testing | software testing |
Class 11 | test-driven development, data/control flow | test-driven development, data/control flow |
Class 12 | software development tools, software development environments (IDE), CASE | software development tools, software development environments (IDE), CASE |
Class 13 | presentation and discussion (1): basics in software engineering | presentation and discussion (1): basics in software engineering |
Class 14 | presentation and discussion (2): techniques in software engineering | presentation and discussion (2): techniques in software engineering |
Class 15 | presentation and discussion (3): applications in software engineering | presentation and discussion (3): applications in software engineering |
None. Slides are available in lecture.
None.
Report: 60%
Presentation and discussion: 40%
None