トップページへ

2025 (Current Year) Faculty Courses School of Computing Department of Computer Science Graduate major in Computer Science

Practical Software Engineering

Academic unit or major
Graduate major in Computer Science
Instructor(s)
Katsuhiko Gondow / Shinpei Hayashi
Class Format
Lecture (HyFlex)
Media-enhanced courses
-
Day of week/Period
(Classrooms)
3-4 Tue (M-356(H132)) / 3-4 Fri (M-356(H132))
Class
-
Course Code
CSC.T435
Number of credits
200
Course offered
2025
Offered quarter
4Q
Syllabus updated
Sep 16, 2025
Language
English

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 on practical topics in software engineering, you study software review, project management, construction and maintenance of software systems, state-of-the-art 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

By studying this lecture, you learn the practical issues and techniques in software engineering, including human factors. Also you learn what are the practical issues through presentation and discussion about each student's development experience.

Keywords

software engineering, team development, software review, project management, risk management, refactoring, technical debt, 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

Introduction

Class 2

Coding technique

Coding technique

Class 3

Software review

Software review

Class 4

Project management and human factors

Project management and human factors

Class 5

Risk management and project productivity

Risk management and project productivity

Class 6

Program analysis and automatic debugging techniques

Program analysis and automatic debugging techniques

Class 7

Software configuration management and continuous Integration

Software configuration management and continuous Integration

Class 8

Technical debt

Technical debt

Class 9

Refactoring and restructuring

Refactoring and restructuring

Class 10

Software testing and validation

Software testing and validation

Class 11

Reengineering

Reengineering

Class 12

Software development environments and automatic code generation

Software development environments and automatic code generation

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