Algorithms and Data Structures

2020-2021, C1/C2, C3/C4, C5/C6, C7 Classes
Overview | Instructors | Schedule | Assignment | Evaluation |

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.

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

Instructors

Lectures

NameE-mailLab.ClassRoom
Prof. Yutaka Watanobeyutaka@u-aizu.ac.jp142-BC1/C2M1/M2
Prof. Yan Peipeiyan@u-aizu.ac.jp102-CC3/C4M3/M4
Prof. Jie Huangj-huang@u-aizu.ac.jp126-BC5/C6, C7LTh

Exercises

NameE-mailLab.ClassRoom
Prof. Yutaka Watanobeyutaka@u-aizu.ac.jp142-BC1std1
Prof. Wenxi Chenwenxi@u-aizu.ac.jp326-CC2std2
Prof. Yan Peipeiyan@u-aizu.ac.jp102-CC3std3
Prof. Wanming Chuw-chu@u-aizu.ac.jp142-CC4std4
Prof. Jie Huangj-huang@u-aizu.ac.jp126-BC5std3
Prof. Qiangfu Zhaoqf-zhao@u-aizu.ac.jp102-AC6, C7std4

TAs/SAs

NameE-mailClassRoom
Md. Mostafizer Rahmand8212103@u-aizu.ac.jpC1std1
Singh Divij Gurpreet m5242105@u-aizu.ac.jpC1std1
Kabir Raihan m5241121@u-aizu.ac.jpC1std1
徐 建波d8211103@u-aizu.ac.jpC2std2
Tomohisa Onose m5241135@u-aizu.ac.jpC2std2
Hiroki Yaginuma s1250123@u-aizu.ac.jpC3std3
Fengkai Guo s1252003@u-aizu.ac.jpC3std3
Md. Mostafizer Rahmand8212103@u-aizu.ac.jpC4std4
Rashmi Patidar d8202102@u-aizu.ac.jpC4std4
Chowdhury Md Intisar d8211106@u-aizu.ac.jpC5std3
Md Atiqur Rahmand8211105@u-aizu.ac.jpC5std3
Shohei Ueda m5241127@u-aizu.ac.jpC6std4
Kai Su m5232109@u-aizu.ac.jpC6std4
Chowdhury Md Intisar d8211106@u-aizu.ac.jpC7std5

Schedule

Time and Place

DayPeriod

C1

C2

C3

C4

C5

C6

C7

Monday 5/6

LTh

7/8

std3

std4

Tuesday 3/4

M1/M2

M3/M4

S2
5/6

std1

std2

std3

std4

std5
Wedensday
Thursday 5/6

LTh

7/8

std3

std4

Friday 3/4

M1/M2

M3/M4

S2
5/6

std1

std2

std3

std4

std5

Time Table

# C1/C2/C3/C4 C5/C6 C7 Lecture Notes Algo. Assignment Prog. Assignment Topic
1 12/9 (*Wed) 12/8 (*Tue) 6/11 (Fri) Getting Started
2 12/11 (Fri) 12/10 (Thu) 6/15 (Tue) Complexity, Sort I
3 12/15 (Tue) 12/14 (Mon) 6/18 (Fri) Elementary Data Structures
4 12/18 (Fri) 12/17 (Thu) 6/22 (Tue) Search
5 12/22 (Tue) 12/21 (Mon) 6/25 (Fri) Divide and Conquer Algorithms
6 12/25 (Fri) 12/24 (Thu) 6/29 (Tue) Sort II
7 1/5 (Tue) 1/4 (Mon) 7/2 (Fri) Tree
8 1/8 (Fri) 1/7 (Thu) 7/6 (Tue) Binary Search Trees
9 1/12 (Tue) 1/14 (Thu) 7/9 (Fri) Heaps
10 1/19 (Tue) 1/18 (Mon) 7/13 (Tue) Dynamic Programming
11 1/22 (Fri) 1/21 (Thu) 7/16 (Fri) Graph I
12 1/26 (Tue) 1/25 (Mon) 7/20 (Tue) Graph II
13 2/2 (Tue) 1/28 (Thu) 7/27 (Tue) Backtracking and Heuristic Search
14 2/4 (*Thu) 2/1 (Mon) 7/29 (*Thu) All

Assignments

Algorithm Assignment

Programming Assignment

IDCommentDeadline
AYou need to solve them for your credit.A week later
BYou need to solve them for your credit.A week later
CYou should solve several problems to get A.End of semester
DFor fun!End of semester

Student Evaluation

You can obtain points from the following items:

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.