トップページへ

2022 Faculty Courses School of Computing Department of Computer Science Graduate major in Computer Science

Advanced Software Engineering

Academic unit or major
Graduate major in Computer Science
Instructor(s)
Katsuhiko Gondow
Class Format
Lecture (HyFlex)
Media-enhanced courses
-
Day of week/Period
(Classrooms)
3-4 Tue (W831) / 3-4 Fri (W831)
Class
-
Course Code
CSC.T435
Number of credits
200
Course offered
2022
Offered quarter
4Q
Syllabus updated
Jul 10, 2025
Language
Japanese

Syllabus

Course overview and goals

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.

Course description and aims

(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.

Keywords

software engineering, team development, downstream, software review, project management, risk management, refactoring, software testing, software development environments

Competencies

  • Specialist skills
  • Intercultural skills
  • Communication skills
  • Critical thinking skills
  • Practical and/or problem-solving skills

Class flow

Classroom learning is followed by presentation and discussion

Course schedule/Objectives

Course schedule Objectives
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

Study advice (preparation and review)

To enhance effective learning, students are encouraged to spend approximately 100 minutes preparing for class and another 100 minutes reviewing class content afterwards (including assignments) for each class.
They should do so by referring to textbooks and other course material.

Textbook(s)

None. Slides are available in lecture.

Reference books, course materials, etc.

None.

Evaluation methods and criteria

Report: 60%
Presentation and discussion: 40%

Related courses

  • CSC.T426 : Software Design Methodology
  • CSC.T424 : Workshop on Software Development
  • CSC.T423 : Software Development Studio: Basic I
  • CSC.T430 : Camp on Team-based Software Development
  • CSC.T434 : International Project for System Development

Prerequisites

None