Algorithms and Data Structures

2025-2026, C1/C2, C3/C4, C5/C6, C7 Classes
Overview | Instructors | Schedule | Assignment | Examination | Evaluation | Grade |

Overview

Course Description

Computers are machines that manipulates information. Fundamental study of computer science includes the problems how information is organized in the computer, how it can be manipulated, and how it can be utilized. The efficiency of programming and data processing is directly linked to algorithms and the structures of the data being processed. Thus, it is crucial for students of computer science to understand the concepts of information organization, information manipulation and algorithms. In this course, students learn a range of algorithms and data structures as well as how to implement them through programming exercises.

Course Objectives

Course Prerequisites

Knowledge of programming concepts is necessary. Students should complete Introduction to Programming and C Programming courses.

Text Books

Important Information

The data obtained from examinations and questioners (including past one) might be utilized for research activities to improve education. Individual can not be identified by the publication of this study. If you do not agree with the use of data in this study, please contact the course coordinator (yutaka@u-aizu.ac.jp). Please see this announcement for details.

本コースにおける試験の結果およびアンケートの結果を、過去のデータも含めて、教育改善のための研究データとして利用する場合があります。本研究の公開にあたって個人が特定されることはありません。また、実施にあたっても、個人が特定されないよう十分配慮いたします。データの利用に、同意を頂けない方は、コースコーディネータの渡部(yutaka@u-aizu.ac.jp)までご連絡ください。詳しくはこちらをご覧ください。

Instructors

Lectures

NameE-mailLab.ClassRoom
Prof. Yutaka Watanobeyutaka142-AC1/C2M2
Prof. Yan Peipeiyan102-CC3/C4M4
Prof. Jie Huangj-huang126-BC5/C6, C7LTh
Prof. Akila SiriweeraasiriweC7M7

Exercises

NameE-mailLab.ClassRoom
Prof. Shogo Sembashogo-s206-AC1std1
Prof. Wenxi Chenwenxi326-CC2std2
Prof. Yan Peipeiyan102-CC3std3
Prof. Yinghu Zhouy-zhouC4std4
Prof. Jie Huangj-huang126-BC5std3
Prof. Deepika SaxenadeepikaC6std4
Prof. Akila SiriweeraasiriweC7std3

TAs/SAs

IDNameClassRoom
m5291073SUZUKI Haruto C1std1
s1310134ISHITANI Rinnoshin C1std1
m5281009ENDO Towa C2std2
m5281029NAKAMURA Shunsuke C2std2
d8271104TIAN Meng C3std3
s1300258KIMOTO Ryuji C3std3
d8252104MUEPU MUKENDI Daniel C4std4
m5281035NUMAN Md Obaydullah Al C4std4
d8262105WU Ziang C5std3
d8232113QU Lingxiao C5std3
m5291068Charu Shukla C6std4
m5282019MARRIMANU CHARAN TEJA C6std4

Schedule

Time and Place

DayPeriod

C1

C2

C3

C4

C5

C6

C7

Monday 5/6

LTh

7/8

std3

std4

Tuesday 3/4

M2

M4

M7
5/6

std1

std2

std3

std4

std3
Wedensday
Thursday 5/6

LTh

7/8

std3

std4

Friday 3/4

M2

M4

M7
5/6

std1

std2

std3

std4

std3

Time Table and Materials

# C1/C2/C3/C4 C5/C6 C7 Lecture Notes Algo. Assignment Prog. Assignment Topic
1 12/5 (Fri) 12/4 (Thu) ALDS1_1 Getting Started
2 12/9 (Tue) 12/8 (Mon) ALDS1_2 Growth of function, Sort I
3 12/12 (Fri) 12/11 (Thu) ALDS1_3 Elementary Data Structures
4 12/16 (Tue) 12/15 (Mon) ALDS1_4 Search Algorithm
5 12/19 (Fri) 12/18 (Thu) ALDS1_5 Divide and Conquer
6 12/23 (Tue) 12/22 (Mon) ALDS1_6 Sort II
7 1/6 (Tue) 1/5 (Mon) ALDS1_7 Tree
8 1/9 (Fri) 1/8 (Thu) ALDS1_8 Binary Search Tree
9 1/15 (*Thu) 1/13 (*Tue) ALDS1_9 Heaps
10 1/20 (Tue) 1/19 (Mon) ALDS1_10 Dynamic Programming
11 1/23 (Fri) 1/22 (Thu) ALDS1_11 Graph I
12 1/27 (Tue) 1/26 (Mon) ALDS1_12 Graph II
13 1/30 (Fri) 1/29 (Thu) ALDS1_13 Backtracking and Heuristic Search
14 2/3 (Tue) 2/2 (Mon) All

Assignments

Algorithm Assignment

Programming Assignment

Deadlines
Problem IDCommentDeadline
AYou need to solve them for your credit.A week later (*1)
BYou need to solve them for your credit.A week later (*1)
CYou should solve several problems to get A.End of semester (*2)
DYou should solve several problems to get S (For fun!)End of semester (*2)

(*1) It has been exactly one week since the start of your class's exercises. This time limit may be relaxed depending on the circumstances.

(*2) Until the start of the final exam.

Score board
C1
C2
C3
C4
C5
C6

Examinations

Coding Examination

Please check the notes on the cover page and solve the practice problems in advance.

Final Examination

Student Evaluation

You can obtain points from the following items:

(*1) In the case where all problems A, B, C, and D in Topics 1-13 are solved.

(*2) VL is to justify scores of programming assignments. If a student copies several programs of others, his/her VL is 0.5. If a student copies many programs or copies with malicious intention, his/her VL is 0.

Samples:

If you have solved all of problems A, B, C, and D and scored full marks in the exams,
AA = 13, PA = 100, CE = 120, PE = 120, Final = 110 (S = A)

If you have solved all of problems A, B, and C and performed well in the exams.
AA = 13, PA = 78, CE = 85, PE = 85, Final = 87 (A)

If you have solved all of problems A and B, in other words, solved some of the exercises, and got full marks in the exams.
AA = 13, PA = 52, CE = 120, PE = 120, Final = 103 (S = A)

If you have solved all of problems A and B and your exam scores are average.
AA = 13, PA = 52, CE = 60, PE = 60, Final = 66 (B)