AY 2026 Undergraduate School Course Catalog

Software Engineering

2026/02/19

Open Competency Codes Table Back

開講学期
/Semester
2026年度/Academic Year  2学期 /Second Quarter
対象学年
/Course for;
3rd year
単位数
/Credits
3.0
責任者
/Coordinator
YEN Neil Yuwen
担当教員名
/Instructor
YEN Neil Yuwen, YAMADA Ryuhei
推奨トラック
/Recommended track
先修科目
/Essential courses
更新日/Last updated on 2026/02/02
授業の概要
/Course outline
Nowadays, the Web is not only the source of information for the end users. Companies migrate more of their business activities to Web based systems. We are facing increasing demands for professionals who can design large Web systems. Web engineering is a relatively new term in computer science. It can be defined as a discipline of systematic development of Web applications.
授業の目的と到達目標
/Objectives and attainment
goals
[Corresponding Learning Outcomes]
(A)Graduates are aware of their professional and ethical responsibilities as an engineer, and are able to analyze societal requirements, and set, solve, and evaluate technical problems using information science technologies in society.

The aim of this course is to study current concepts and methods for Web application engineering.
授業スケジュール
/Class schedule
Topics to be discussed include, but not limited to, the followings.

Topic 1: Introduction
Topic 2: A Web engineering process
Topic 3: Communication and planning
Topic 4: Web App Architectures
Topic 5: Introduction to WordPress
Topic 6: Responsive Web Design
Topic 7: Universal Design for Web
Topic 8: About the Future
Topic 9: Presentation and Discussions

Notes:
** Some topics may need more than 1 time of lectures/exercises to complete. Any updates will be posted on LMS when the class begins.

** Schedule may be adjusted according to actual conditions. Any updates will be posted on LMS when the class begins.
教科書
/Textbook(s)
No designated textbook is required but students are encouraged to follow the content of

The Modern Web: Multi-Device Web Development with HTML5, CSS3, and JavaScript by Peter Gasston, No Starch Press, 2013.
Dart 1 for Everyone Fast, Flexible, Structured Code for the Modern Web by Chris Strom, The Pragmatic Programmers, LLC., 2014.
Anatomy of a web application using node.js, ExpressJS, MongoDB & Backbone.js by Jason Crol, 2015.
Knockout.js: Building Dynamic Client-Side Web Applications by Jamine Munro, O’Reilly Media, 2015.
成績評価の方法・基準
/Grading method/criteria
The final grade will be calculated based on the following contributions:

Exercises - 55%
Presentations/Reports - 15%
Quiz - 20%
Active Participation during lectures - 10%

Please note that the proportion to each part may be adjusted according to actual conditions.


Open Competency Codes Table Back

開講学期
/Semester
2026年度/Academic Year  4学期 /Fourth Quarter
対象学年
/Course for;
3rd year
単位数
/Credits
3.0
責任者
/Coordinator
WATANOBE Yutaka
担当教員名
/Instructor
WATANOBE Yutaka, SAXENA Deepika
推奨トラック
/Recommended track
先修科目
/Essential courses
更新日/Last updated on 2026/02/06
授業の概要
/Course outline
This course covers many current topics of interest in software engineering. Some of the topics covered are formal methods to specify requirements of software systems, software reuse, software maintenance, software maintenance models, and evaluation of processes, products, and resources. It includes Advanced Treatment of Selected Software Engineering issues: Software Maintenance, Software Configuration Management, Software Re-engineering, Managing People, Critical Systems Development, User Interface Design and Evaluation, Emerging Technologies like Visual Programming, Security Engineering, and other advanced topics including student engineering topic.
授業の目的と到達目標
/Objectives and attainment
goals
[Corresponding Learning Outcomes]
(A)Graduates are aware of their professional and ethical responsibilities as an engineer, and are able to analyze societal requirements, and set, solve, and evaluate technical problems using information science technologies in society.

[Competency Codes]
C-HI-003, C-SD-005, C-SE-001, C-SE-002

The objective of the course is to impart knowledge to students about methods in software development. The methods range from how to precisely specify software requirements to how to evaluate the methods and their products and required resources. This is achieved in two parts: first, lectures are given on several current topics of interest; second, students are given a programming project to design and implement a system using the Object-Oriented programming paradigm and the version management with a team.
授業スケジュール
/Class schedule
Lecture 1: The Nature of Software Engineering
Topics to study:
- How did software engineering become a term?
- Is there a good technical solution to software development problems?
- How and why are agile methods considered more people-affirming?
- Compare software engineering with other professions.

Lecture 2: Revisioning Software
Topics to study:
- Collaborative development problems,
- Revision control,
- VCS terminology,
- Collaborative development and conflict resolution.

Lecture 3: The Human Factors in Software Engineering
Topics to study:
- Human Diversity;
- Limits to Thinking;
- Knowledge Modeling;
- Personality Types;
- Human Factors Engineering.

Lecture 4: The Managing People and Team Work
Topics to study:
- Selecting and Motivating Staff
- Ego-less Programming
- Managing Groups
- The People Capability Maturity Model

Lecture 5-6: User Interface Design and Evaluation
Topics to study:
- User Interface Design Principles
- User Interaction Styles
- Information Presentation
- GUI Features
- Message System Features
- System Documentation
- User Interface Design Process
- Interface Evaluation

Lecture 7: Visual Programming Systems
Topics to study:
- Terminology
- Classification and Theory
- A Review of Visual Programming Systems

Lecture 8: Software change: Maintenance and Architectural Evolution
Topics to study:
-Program evolution dynamics
-Software maintenance
-Architectural evolution

Lecture 9: Software re-engineering
Topics to study:
-Source code translation
-Reverse engineering
-Program structure improvement
-Program modularization
-Data re-engineering

Lecture 10: Critical systems development
Topics to study:
-Dependable processes
-Dependable programming
-Fault tolerance
-Fault tolerant architectures

Lecture 11: Software Security Engineering
Topics to study:
-Security concepts
-Security risk management
-Design for security
-System survivability

The first four periods of each week are conducted in a lecture format, while the remaining two periods are dedicated to programming exercises. These exercises are structured as team-based development projects.

[Preparation and Review]
To effectively engage in the project, students must proactively acquire the necessary development knowledge and technical skills through self-directed study. The estimated time for learning outside of scheduled class hours is approximately 6 hours per week.

教科書
/Textbook(s)
1.Software Engineering, 5-9th editions by Ian Sommerville, publisher: Addision-Wesley
2.Human Aspects of Software Engineering by J.E. Tomayko and O. Hazzan, Charles River Media Inc., 2004
3. User Interface Design and Evaluation by D. Stone, C. Jarrett, M.Woodroffe, Sh. Mincha
4. Lecture notes distributed by the instructor will be developed from materials collected from books, journals and proceedings papers.
成績評価の方法・基準
/Grading method/criteria
Your final grade includes the following parts
1). Quiz: 10 points
2). Exam: 40 points
3). Project: 50 points
履修上の留意点
/Note for course registration
It would be good if students have knowledge about basics of Software Engineering, Programming in Java  and C.
参考(授業ホームページ、図書など)
/Reference (course
website, literature, etc.)
The course coordinator Yutaka Watanobe has practical work experience. He collaborated with Givery Inc. to develop the programming skill check tool and materials which can be useful for personnel assessment, training and education. He has provided a number of problems and related test data as one of main contents. He also has experience in developing large scale software in practical use, such as development environments and educational support systems. Based on his experience, he can teach the basics of Software Engineering.


Open Competency Codes Table Back

開講学期
/Semester
2026年度/Academic Year  前期 /First Semester
対象学年
/Course for;
4th year
単位数
/Credits
3.0
責任者
/Coordinator
YOSHIOKA Rentaro
担当教員名
/Instructor
YOSHIOKA Rentaro, KAWAGUCHI Tatsuki
推奨トラック
/Recommended track
先修科目
/Essential courses
Courses preferred to be learned before this course (This course assumes an understanding of the entire or partial content of the following courses)
FU14 Introduction to Software Engineering
更新日/Last updated on 2026/01/22
授業の概要
/Course outline
Students will develop software for real-world customers in teams and deepen their understanding of software engineering.
In this course, each student team will receive a development request from a real customer. On average, each team will consist of 3-10 students. Teams will start by listening to customers' requests and defining the software requirements. This will be followed by design, development, and test phases. In Week 14, each team will present its project activity and the completed software and deliver it to the customer.
Professional software engineers will support each team as coaches, advising on practical development tasks. Each team will report its progress to the coaches and lecturers every week. Meetings with customers will be held as required. The phases of the development will be controlled by specific deliverables that must be submitted to advance to the next phase. Teams will present at two review meetings (interim and final), where they must quantitatively analyze project work hours, accomplishments, and quality.
To deliver software that best satisfies customer requirements, including functional and quality requirements, utmost creativity and effort are imperative. Proactive, self-motivated involvement by all team members is expected for successful delivery.
授業の目的と到達目標
/Objectives and attainment
goals
[Corresponding Learning Outcomes]
(A) Graduates are aware of their professional and ethical responsibilities as engineers and are able to analyze societal requirements and set, solve, and evaluate technical problems using information science technologies in society.

[Competency Codes]
C-GV-001, C-HI-003, C-SD-005, C-SE-001, C-SE-002, C-SP-002, C-SP-004, C-SP-006, C-SP-009, C-SP-0011-1, C-SP-012, C-SP-013, C-SP-014

1. The student understands the challenges of developing software with specific functional and quality requirements and the basic problem-solving methods.
2. The student understands the necessity of project management to develop software with limited resources (people, time, equipment) and experiences the various methods related to each stage of development (requirements definition, design, development, test).
3. The student understands the need to act quickly in an uncertain real-world environment, such as identifying multi-disciplinary problems and accurately communicating information, and will learn basic methods.
Overall, the student will understand the difficulties (and rewards!) of developing practical, respectable-sized software.
授業スケジュール
/Class schedule
In each lecture (3 periods),
1. Progress report by each team (10 minutes)
2. Feedback on the reported content by instructors
3. Short lecture on the week’s activity by instructors
4. A meeting between the team and the customer
will be performed.

Week 1: Project Kickoff and Planning
Divide roles among team members, prepare a project management system, receive an overview of the project background and requirements from the client, and develop a project plan.

Week 2: Field Work
Visit the client site to understand the problem and environment of the required solution. (The schedule is subject to the client’s circumstances)

Week 3: Requirements Definition
Analyze the problem carefully, derive clear and precise requirements, and obtain consent on the scope of the system from the customer.

Week 4: Requirements Definition
Analyze the problem carefully, derive clear and precise requirements, and obtain consent on the scope of the system from the customer.

Week 5: Requirements Definition
Analyze the problem carefully, derive clear and precise requirements, and obtain consent on the scope of the system from the customer.

Week 6: Interim Review
The customer will examine the progress and decide whether the team will proceed to the following phases.

Week 7: Analysis
Based on the requirements definition phase results, logically analyze the requirements and plan a practical solution.

Week 8: Analysis
Based on the requirements definition phase results, logically analyze the requirements and plan a practical solution.

Week 9: Design
Describe the structure and behavior of functions/objects of the system while considering programming.

Week 10: Design
Describe the structure and behavior of functions/objects of the system while considering programming.

Week 11: Development
Create source code of the software.

Week 12: Development
Create the source code of the software and begin testing.

Week 13: Testing
Test the developed software.

Week 14: Final review
The customer will evaluate the test results and other deliverables from the design phase and decide whether the software is valid for acceptance.

*Schedule management is performed by the teams so that progress may vary, but the dates of the interim and final reviews cannot be changed. Teams are requested to prototype actively.

[Preparation/Review] Between each class session and the next, carry out the project activities planned by your team (such as meetings, survey/analysis, idea generation, development, and material preparation) either individually or as a team. The standard time for preparation and review for each session is 6 to 7 hours.
教科書
/Textbook(s)
Handouts will be provided as necessary.
成績評価の方法・基準
/Grading method/criteria
There is no exam. The following items will assess performance.
1. Presentation at interim and final review 25%
2. Quality of deliverables (Technical documents and software) 25%
3. Individual report 40%
4. Participation in class activities and attitude 10%
* Each student's contribution will be checked in weekly progress reports and the project management system.
* Insights of customers and coaches will be taken into consideration for the assessment
* In the individual report, each student is requested to describe their activities and contribution to the project and answer questions related to the knowledge of software engineering and project management involved.
履修上の留意点
/Note for course registration
• Knowledge and skills acquired in the following courses are assumed.
FU14 Introduction to Software Engineering
IE03 Integrated Software Exercise I
IE04 Integrated Software Exercise II
• Students must attend an individual interview with the lecturers before the first lecture, usually scheduled for the last week of March.
• Necessary knowledge and skills vary depending on the nature of each project.
• Students are requested to self-study (individually or in teams, outside of classroom hours) any knowledge or skills as required to complete the project.
• Participation in all lectures and meetings is mandatory. Being absent, late, or leaving early without the lecturers' prior approval is subject to a penalty in the final assessment.
参考(授業ホームページ、図書など)
/Reference (course
website, literature, etc.)
https://www.u-aizu.ac.jp/enpit/record/2025_software.html
https://www.u-aizu.ac.jp/enpit/record/2024_software.html
https://www.u-aizu.ac.jp/enpit/record/2023_software.html
https://www.u-aizu.ac.jp/enpit/record/2022_software.html
https://www.u-aizu.ac.jp/enpit/record/2021_software.html
https://www.u-aizu.ac.jp/enpit/record/2020_software.html
https://www.u-aizu.ac.jp/enpit/record/2019_software.html
https://www.u-aizu.ac.jp/enpit/record/2018_software.html
https://www.u-aizu.ac.jp/enpit/record/2017_software.html

The course instructor has work experience: Company employees working on development projects will review, evaluate, and provide guidance on students' development activities throughout the course.
Currently, active software engineers (with more than 30 years of experience) and faculty members with prior software development experience will jointly deliver lectures and exercises.


Open Competency Codes Table Back

開講学期
/Semester
2026年度/Academic Year  4学期 /Fourth Quarter
対象学年
/Course for;
3rd year
単位数
/Credits
3.0
責任者
/Coordinator
MOZGOVOY Maxim
担当教員名
/Instructor
MOZGOVOY Maxim
推奨トラック
/Recommended track
先修科目
/Essential courses
Courses preferred to be learned prior to this course (This course assumes understanding of entire or partial content of the following courses)
PL03 JAVA Programming I
更新日/Last updated on 2026/01/08
授業の概要
/Course outline
Concurrent programs take advantage of modern multicore and multiprocessor machines to implement algorithms that run concurrently (in parallel) to achieve higher performance and better user experience. Distributed computing brings this idea to the next level, dealing with the systems made up of independent computers, linked by a network.

At the present time, both concurrent and distributed systems are widespread, due to high popularity of multicore machines and computer networks. However, the design and implementation of such systems and corresponding software remains a challenging task. We have to know how to coordinate independent processes to achieve high performance and avoid common pitfalls.

The goal of this course is to introduce the basics of concurrent and distributed systems design and implementation. We will cover a number of classical and modern approaches to this problem, paying special attention to the practical aspects of implementation using Java language.
授業の目的と到達目標
/Objectives and attainment
goals
[Corresponding Learning Outcomes]
(A)Graduates are aware of their professional and ethical responsibilities as an engineer, and are able to analyze societal requirements, and set, solve, and evaluate technical problems using information science technologies in society.

At the end of the course the student should be able to:
- Understand the key advantages of concurrent and distributed systems and common problems the developers may encounter.
- Know different approaches to concurrent and distributed systems design, their advantages and disadvantages.
- Be able to implement simple concurrent and distributed systems using modern tools.
- Be aware of the historical perspective of the developments in this area, understand modern trends and technologies.
授業スケジュール
/Class schedule
This course follows flipped learning format. Face to face lecture sessions are actually dedicated to the discussion of exercises and homeworks to make sure the students understand solutions even if they didn't manage to solve exercises themselves.

Conversely, homework time is reserved for watching lectures in video format. There are 12 lectures covering the following topics:

1. Introduction
2. Basics of Concurrency
3. Synchronizing Processes
4. Introduction to Model Checking and Promela Language
5. Model Checking with SPIN and Linear Temporal Logic
6. From Shared-memory Model to Message Passing
7. Distributed Programming with MPI & Tuple Space Model
8. OpenMP Technology
9. Client-Server Programming
10. RMI: Distributed Objects in Java
11. Modern Concurrent Programming in Java
12. Actor Model of Concurrent Computations

The learning process is organized as follows:

- the students watch video course material covering a certain topic and solve exercises;
- we discuss unclear points of the topic material and exercise solutions during the next face-to-face meeting.

This approach presumes certain level of autonomy and self-learning abilities of the students, but it gives more options to discuss course material after the exercises, when the students already gained certain familiarity and experience with the topic.

In addition to the regular lecture/exercise classes, a student is expected to devote around 2-3 hours per topic to achieve a minimum passing grade, and around 4-5 hours for a very high score if they wish to solve additional exercises.

教科書
/Textbook(s)
- Distributed Systems: Principles and Paradigms by Andrew S. Tanenbaum and Maarten van Steen, Prentice Hall, 2007.

- M. Ben-Ari. Principles of Concurrent and Distributed Programming, 2nd Ed. Addison-Wesley, 2006.

- G. R. Andrews. Foundations of Multithreaded, Parallel, and Distributed Programming. Addision-Wesley, 2000.

- M. L. Liu, Distributed Computing: Principles and Applications, Addison-Wesley, 2004.
成績評価の方法・基準
/Grading method/criteria
The final grade is based on the following parts:

- Exercises (50% of the final score).
- Two exams (30% of the final score).
- Quizzes on lecture content (20% of the final score).

We keep strict deadlines in this course.
履修上の留意点
/Note for course registration
The presented course is not an introductory subject. It is intended for students who already have basic experience in programming such as Java Programming, Algorithms and Data Structures, Object-Oriented Programming, Operating Systems.


Open Competency Codes Table Back

開講学期
/Semester
2026年度/Academic Year  2学期 /Second Quarter
対象学年
/Course for;
3rd year
単位数
/Credits
3.0
責任者
/Coordinator
RAGE Uday Kiran
担当教員名
/Instructor
RAGE Uday Kiran, YAMADA Ryuhei
推奨トラック
/Recommended track
先修科目
/Essential courses
更新日/Last updated on 2026/02/10
授業の概要
/Course outline
Python is a widely used programming language for developing large-scale industrial, scientific, and data-driven applications. It is closely integrated with Database Management Systems (DBMS) and data-frame-based processing frameworks, which form the foundation of modern AI and Big Data analytics.

This course introduces students to Python programming, object-oriented concepts, database design and querying, and data processing using data frames. Through a combination of lectures and hands-on exercises, students will learn how to design data models, store and retrieve large volumes of data, and perform data analysis tasks relevant to AI and Big Data applications.

The course covers:
(i) fundamentals of Python programming,
(ii) object-oriented programming and documentation in Python,
(iii) database concepts including ER modeling and DBMS architecture,
(iv) Structured Query Language (SQL),
(v) object–database connectivity,
(vi) data frames and data processing, and
(vii) introductory knowledge discovery and pattern mining.

Each class consists of one lecture period followed by two exercise periods, emphasizing learning by doing.
授業の目的と到達目標
/Objectives and attainment
goals
Objectives

This course aims to provide students with practical and conceptual foundations in data science using Python. Students will understand how programming, databases, and data-frame-based processing work together in real-world data-intensive applications.

Attainment Goals

By the end of the course, students will be able to:

Develop Python programs using procedural and object-oriented paradigms

Design conceptual and logical data models using ER diagrams

Create and manage relational databases using SQL

Connect Python applications with databases for data access

Store, manipulate, and analyze data using data frames

Apply basic data processing and pattern discovery techniques to real datasets
授業スケジュール
/Class schedule
Course Content and Methods

Each session consists of a lecture (theory and examples) followed by hands-on exercises. Exercises are conducted individually or in small groups and include programming tasks, database design, SQL execution, and data analysis using real datasets. Discussion and feedback are incorporated regularly to reinforce understanding.

Schedule (14 Sessions)

Session 1
Lecture: Introduction to Python and data-driven applications
Exercise: Input/output operations in Python

Session 2
Lecture: Python syntax, variables, control structures
Exercise: Solving the Tower of Hanoi problem in Python

Session 3
Lecture: Object-Oriented Programming in Python
Exercise: File handling, dictionaries, and searching

Session 4
Lecture: Python packages and documentation
Exercise: Web crawling and scraping application

Session 5
Lecture: Introduction to Database Management Systems
Exercise: ER modeling for air-pollution data

Session 6
Lecture: Entity–Relationship model and schema design
Exercise: Database schema implementation

Session 7
Lecture: SQL-1 (DDL: CREATE, ALTER, DROP)
Exercise: Creating tables and schemas

Session 8
Lecture: SQL-2 (DML: INSERT, UPDATE, DELETE)
Exercise: Inserting air-pollution data

Session 9
Lecture: SQL-3 (SELECT queries)
Exercise: Querying and filtering data

Session 10
Lecture: Keys and indexes
Exercise: Index creation and performance discussion

Session 11
Lecture: Object Database Connectivity (ODBC)
Exercise: Connecting Python programs to databases

Session 12
Lecture: Introduction to data frames
Exercise: Generating data frames from SQL results

Session 13
Lecture: Managing and processing data frames
Exercise: Processing air-pollution data in data frames

Session 14
Lecture: Knowledge discovery and pattern mining
Exercise: Pattern mining on data frames and discussion

Pre-class and Post-class Learning

Before each class, students are expected to review lecture materials and relevant textbook sections. After class, students should complete assigned programming or database exercises and review key concepts covered in the session.

Typical out-of-class study time per session: 3–5 hours, including preparation, review, and exercise completion.
教科書
/Textbook(s)
Database Systems: The Complete Book, Hector Garcia-Molina, Jeffrey Ullman, Jennifer Widom

Stanford University Python course materials:
http://web.stanford.edu/class/archive/cs/cs106a/cs106a.1212/lectures/4-Variables/4-IntroPython.pdf
成績評価の方法・基準
/Grading method/criteria
Student performance will be evaluated based on:

Quizzes: 30%

Exercises and assignments: 40%

Final examination: 30%

Exercises do not carry negative marks. Quizzes and the final examination may include negative marking where applicable.
Attendance is not included in the grading criteria. Active participation during exercises and discussions may be reflected within the exercise evaluation.

Grades are determined on a percentile basis.
履修上の留意点
/Note for course registration
Students are strongly advised to have prior knowledge equivalent to:

Operating Systems

Structured Programming Languages

Assignments must be submitted by the specified deadlines. Late submissions may result in score deductions.
参考(授業ホームページ、図書など)
/Reference (course
website, literature, etc.)
Stanford University course resources:
https://web.stanford.edu/class/cs245/

Office hours will be announced during the first week of the course.


Open Competency Codes Table Back

開講学期
/Semester
2026年度/Academic Year  3学期 /Third Quarter
対象学年
/Course for;
3rd year
単位数
/Credits
3.0
責任者
/Coordinator
RAGE Uday Kiran
担当教員名
/Instructor
RAGE Uday Kiran, DANG Nam Khanh
推奨トラック
/Recommended track
先修科目
/Essential courses
更新日/Last updated on 2026/02/10
授業の概要
/Course outline
Course Outline

This course introduces students to the principles and practices of Big Data Analytics, with a strong emphasis on data science and data mining techniques used to extract meaningful knowledge from large-scale datasets. The course addresses the challenge of transforming massive volumes of raw data into actionable insights for decision-making and socio-economic development.

The course integrates three major aspects of big data analytics:
(i) data storage and preprocessing,
(ii) data mining and machine learning, and
(iii) predictive and time-series analytics.

Students will learn how data is collected, stored, cleaned, analyzed, and transformed into knowledge using real-world datasets. Core analytical techniques such as pattern mining, clustering, classification, prediction, and forecasting are covered through hands-on exercises.

A “Learn by Doing” approach is adopted throughout the course. Each topic is introduced through conceptual explanations and demonstrations, followed by extensive practical exercises that allow students to implement and experiment with analytics techniques on real datasets.

Each class consists of three periods:
the first period focuses on explanation and demonstration by the instructor, while the remaining two periods are dedicated to student exercises and guided practice.
授業の目的と到達目標
/Objectives and attainment
goals
Objectives

In modern data-driven environments, organizations collect massive volumes of data, yet valuable knowledge often remains hidden due to the limitations of traditional analysis methods. This phenomenon is commonly referred to as the “Data-Rich but Information-Poor” problem. Big Data Analytics and Data Mining provide systematic approaches to overcome this challenge.

This course aims to equip students with both theoretical understanding and practical skills necessary to analyze large datasets and extract useful patterns, models, and predictions.

Attainment Goals

By the end of the course, students will be able to:

Design and manage databases for large-scale data storage

Construct analytical data repositories for big data processing

Apply data preprocessing and missing-value imputation techniques

Perform pattern mining, clustering, and classification tasks

Apply regression and time-series forecasting techniques

Build ensemble models to improve analytical accuracy

Interpret analytical results to support data-driven decision-making
授業スケジュール
/Class schedule
Course Content and Methods

Each session combines conceptual instruction, live demonstrations, and hands-on exercises. Exercises are conducted individually or in small groups using real-world datasets, such as air-pollution and sensor data. Discussion and feedback sessions are incorporated to reinforce analytical thinking and interpretation skills.

Session 1
Lecture: Introduction to Big Data Analytics and data science workflow
Exercise: Understanding datasets and basic data exploration

Session 2
Lecture: Data storage concepts and relational databases
Exercise: ER modeling and database schema design

Session 3
Lecture: Data warehousing and analytical data organization
Exercise: Constructing a data warehouse from transactional data

Session 4
Lecture: Data preprocessing and data quality issues
Exercise: Handling missing values and data normalization

Session 5
Lecture: Knowledge discovery process
Exercise: Exploratory analysis of air-pollution data

Session 6
Lecture: Pattern mining fundamentals
Exercise: Mining frequent patterns from transactional data

Session 7
Lecture: Advanced pattern mining and fuzzy concepts
Exercise: Fuzzy frequent pattern extraction

Session 8
Lecture: Clustering concepts and k-Means algorithm
Exercise: k-Means clustering on pollution data

Session 9
Lecture: Density-based clustering and DBSCAN
Exercise: DBSCAN clustering and comparison with k-Means

Session 10
Lecture: Classification concepts and evaluation metrics
Exercise: Naïve Bayes classification

Session 11
Lecture: Decision tree classification
Exercise: Building and evaluating decision tree models

Session 12
Lecture: Prediction and regression techniques
Exercise: Linear regression and autoregression

Session 13
Lecture: Time-series analytics and forecasting
Exercise: ARIMA-based forecasting

Session 14
Lecture: Ensemble models and integrated analytics
Exercise: Ensemble modeling and case study discussion


Pre-class and Post-class Learning

Students are expected to review lecture materials before each session and complete unfinished exercises after class.
Typical out-of-class study time per session: 3–5 hours, including preparation, review, and assignment work.
教科書
/Textbook(s)
Core / Data Mining & Big Data

Mining of Massive Datasets — Anand Rajaraman, Jeff Ullman, Jure Leskovec
Used in many big data analytics courses; excellent for large-scale data mining and pattern discovery.

Data Science and Big Data Analytics: Discovering, Analyzing, Visualizing and Presenting Data — EMC Education Services
Comprehensive overview of practical analytics workflows used in industry.

Big Data Analytics: From Strategic Planning to Enterprise Integration — David Loshin
Focus on strategic, architectural, and integration aspects of big data systems.
成績評価の方法・基準
/Grading method/criteria
Student performance is evaluated based on:

Quizzes: 30%

Exercises and assignments: 40%

Final examination: 30%

Exercises do not carry negative marks. Quizzes and the final examination may include negative marking where applicable.
Attendance is not included in grading criteria. However, students  must have 75% of attendence.
履修上の留意点
/Note for course registration
Attendance is mandatory.

Students must maintain at least 75% attendance to be eligible for course completion.

Failure to meet the attendance requirement will result in failure of the course, regardless of academic performance.

Prior knowledge of Operating Systems, Database Systems, and a Programming Language is strongly recommended.
参考(授業ホームページ、図書など)
/Reference (course
website, literature, etc.)
Course website: https://u-aizu.ac.jp/~udayrage/intro2BigData.html

Stanford University (CS246): https://web.stanford.edu/class/cs246/

The University of Tokyo OCW: https://ocwx.ocw.u-tokyo.ac.jp/course_11414/


Responsibility for the wording of this article lies with Student Affairs Division (Academic Affairs Section).

E-mail Address: sad-aas@u-aizu.ac.jp