Algorithms and Data Structures
2024-2025, C1/C2, C3/C4, C5/C6, C7 Classes
Overview | | | Instructors | | | Schedule | | | Assignment | | | Examination | | | 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
- Students will be able to evaluate the strengths and weaknesses of data structures and algorithms.
- Students will be able to develop efficient algorithms.
- Students will be able to apply the state-of-the-art of data structures and algorithms for solving problems and developing software.
- Students will be able to solve practical problems under limited resources and know from experience that the efficiency of an algorithm is much more important than that of hardware.
- Acquired knowledge and techniques will be used for their state-of-the-art research and software development in the future.
Course Prerequisites
Knowledge of programming concepts is necessary. Students should complete Introduction to Programming and C Programming courses.
Text Books
- Introduction to Algorithms (3rd or 2nd edition), Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, and Clifford Stein. The MIT Press, 2012.
- Algorithms and Data Structures for Programming Contests, Yutaka Watanobe, Ozy, Takuya Akiba, Mainavi.
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
Name | Lab. | Class | Room | |
---|---|---|---|---|
Prof. Yutaka Watanobe | yutaka | 142-A | C1/C2 | M2 |
Prof. Yan Pei | peiyan | 102-C | C3/C4 | M4 |
Prof. Jie Huang | j-huang | 126-B | C5/C6, C7 | LTh |
Prof. Akila Siriweera | asiriwe | C7 | M7 |
Exercises
Name | Lab. | Class | Room | |
---|---|---|---|---|
Prof. Shogo Semba | shogo-s | 206-A | C1 | std1 |
Prof. Wenxi Chen | wenxi | 326-C | C2 | std2 |
Prof. Yan Pei | peiyan | 102-C | C3 | std3 |
Prof. Yinghu Zhou | y-zhou | C4 | std4 | |
Prof. Jie Huang | j-huang | 126-B | C5 | std3 |
Prof. Deepika Saxena | deepika | C6 | std4 | |
Prof. Akila Siriweera | asiriwe | C7 | std3 |
TAs/SAs
ID | Name | Class | Room |
---|---|---|---|
s1310043 | MIYABE Kota | - | - |
s1290119 | TAKENAKA Ryohei | C1 | std1 |
s1300056 | SUZUKI Haruto | C1 | std1 |
m5281047 | SUGENO Kosuke | C1 | std1 |
m5271015 | KOKUBUN Kota | C2 | std2 |
m5281009 | ENDO Towa | C2 | std2 |
d8242104 | Xiang Meng | C3 | std3 |
d8232113 | Lingxiao Qu | C3 | std3 |
s1290001 | AIZAWA Toya | C3 | std3 |
d8241101 | AMIN Md. Faizul Ibne | C4 | std4 |
d8252104 | MUEPU MUKENDI Daniel | C4 | std4 |
d8232113 | QU Lingxiao | C5 | std5 |
d8262105 | WU Ziang | C5 | std5 |
m5282030 | YERRAGOLLA Hareesh Kumar | C5 | std6 |
m5282019 | Charan Teja | C5 | std6 |
Schedule
Time and Place
Day | Period | 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
Assignments
Algorithm Assignment
- You will be given a question sheet at each lecture.
- You can solve the questions during the rest of the lecture and the exercise.
- You must show your sheet to SAs/TAs. This procedure is considered as your attendance record for both the lecture and exercise.
- SAs/TAs will evaluate your answers and marks will be given according to the judgment.
- You can keep trying to solve the problems with TA's instructions to get all the answers right.
- The answer sheet will be returned to you so that you can consult it for solving the corresponding programming assignment.
- The deadline of the algorithm assignment is the end of the (2nd) exercise class.
Programming Assignment
- The Programming Assignments should be achieved at Aizu Online Judge (AOJ).
- In this course, we will solve problems within the topics of ALDS1 (Algorithms and Data Structures 1), one of the AOJ courses.
- Each topic consists of 3 or 4 problems (A, B, C, and D).
Deadlines
Problem ID | Comment | Deadline |
---|---|---|
A | You need to solve them for your credit. | A week later |
B | You need to solve them for your credit. | A week later |
C | You should solve several problems to get A. | End of semester |
D | You should solve several problems to get S (For fun!) | End of semester |
Score board
C1C2
C3
C4
C5
C6
Examinations
Coding Examination
Please check the notes on the cover page and solve the practice problems in advance.
Final Examination
TBA
Student Evaluation
You can obtain points from the following items:
- AT: Attendance - Max: 13 points
- AA: Algorithm Assignment - Max: 100 points
- PA: Programming Assignment - Max: 100 points
- VL: Validation - 1, 0.5 or 0
- CE: Coding Examination - Max: 120 points
- PE: Paper Examination - Max: 120 points
- Theory: sqrt(AA*PE)
- Practice: sqrt(PA*CE)*VL
- Final Score = ceil((int)((AT+1)/10)*sqrt(Theory * Practice))
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.