Course title
M02220001
Data Structure and Algorithms

LAOHAKANGVALVIT TIPPORN

SRIPIAN PEERAYA
Middle-level Diploma Policy (mDP)
Program / Major mDP Goals
(改組前)先進国際課程 A-1 A-1 Students shall obtain basic and advanced knowledge and skills in mathematics, natural and computer sciences as well as presentation skills to communicate on their knowledge with scholars from various fields.
先進国際課程 A-1 A-1 Students shall obtain basic and advanced knowledge and skills in mathematics, natural and computer sciences as well as presentation skills to communicate on their knowledge with scholars from various fields.
先進国際課程 A-2 A-2 To suitably lead an international team in the future, students will be able to consider and make decisions on issues in various kinds of problems by grasping what kind of problems are tackled to solve in what way in a wide range of fields in science and technology.
(改組前)先進国際課程 A-2 A-2 To suitably lead an international team in the future, students will be able to consider and make decisions on issues in various kinds of problems by grasping what kind of problems are tackled to solve in what way in a wide range of fields in science and technology.
先進国際課程 B B Ability to understand, respect, and accept diversity in a global society, and cooperate with people from various backgrounds for international teamwork.
(改組前)先進国際課程 B B Ability to understand, respect, and accept diversity in a global society, and cooperate with people from various backgrounds for international teamwork.
Purpose of class
Students are expected to obtain knowledge, understanding, and technical skills to develop efficient data structures and algorithms as well as to apply them to solve various computational problems.
Course description
This course provides the core concepts and techniques essential for efficient problem-solving in computer science, allowing students to explore various data structures, each with unique properties and applications. Additionally, it covers algorithm design paradigms, aiming to develop students’ analytical and problem-solving skills. Through lectures, assignments, and practical exercises with C programming language, students gain proficiency in implementing, analyzing, and optimizing algorithms, preparing them for tackling real-world computational challenges in software development, data analysis, and beyond.
Goals and objectives
  1. Students can explain fundamental data structures and algorithmic techniques to solve computational problems efficiently.
  2. Students can apply theoretical concepts to design and implement well-structure and high-performance programs.
  3. Students can explain and discuss the effective use of data structures and algorithms for practical use cases.
Relationship between 'Goals and Objectives' and 'Course Outcomes'

Assignments Mid-term Examination Final Project In-class Activity Total.
1. 5% 10% 10% 10% 35%
2. 20% 5% 20% 0% 45%
3. 5% 10% 5% 0% 20%
4. 0%
Total. 30% 25% 35% 10% -
Evaluation method and criteria
Assignments and in-class activities will contribute 40% of the grade.
Mid-term examination and final project will contribute 60% of the grade.
*Those who get at least 60% of the total score will receive the credits of this course.
Language
English
Class schedule

Class schedule HW assignments (Including preparation and review of the class.) Amount of Time Required
1. Introduction to Data Structures and Algorithms Review after class and do assignment 190minutes
2. Data Structure: Array and Linked List Review after class and do assignment 190minutes
3. Data Structure: Stack and Queue Review after class and do assignment 190minutes
4. Data Structure: Loop, Iteration, Recursion Review after class and do assignment 190minutes
5. Data Structure: Tree Review after class and do assignment 190minutes
6. Data Structure: Graph Review after class and do assignment 190minutes
7. Mid-term examination & Discussion on solutions Review all previous classes and prepare for examination 220minutes
8. Algorithm: Searching (1) Review after class and do assignment 190minutes
9. Algorithm: Searching (2) Review after class and do assignment 190minutes
10. Algorithm: Sorting (1) Review after class and do assignment 190minutes
11. Algorithm: Sorting (2) Review after class and do assignment 190minutes
12. Project-based Learning: Design and Implementation Work on project 190minutes
13. Project-based Learning: Progress Report Work on project 190minutes
14. Course review & Final project presentation and discussion Preparation for presentation and discussion 220minutes
Total. - - 2720minutes
Feedback on exams, assignments, etc.
ways of feedback specific contents about "Other"
Feedback outside of the class (ScombZ, mail, etc.)
Textbooks and reference materials
・Data Structures using C (Second Edition). Reema Thareja. Oxford University Press (2014)
・Introduction to Algorithms (Fourth Edition). Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, and Clifford Stein. MIT Press (2022).
・Additional materials will be provided in class.
Prerequisites
Knowledge and experience in basic C programming is required, as this course will involve advanced C programming.
(*Review on the basic C programming will not be provided.)
Office hours and How to contact professors for questions
  • Tipporn Laohakangvalvit
    Office hours: After class or by appointment
    For appointment, please contact me by e-mail: tipporn@shibaura-it.ac.jp
  • Peeraya Sripian
    Office hours: Friday 1PM-4PM
    Prior Appointment by email only (peeraya@shibaura-it.ac.jp)
Regionally-oriented
Non-regionally-oriented course
Development of social and professional independence
  • Course that cultivates a basic problem-solving skills
  • Course that cultivates an ability for utilizing knowledge
  • Course that cultivates a basic interpersonal skills
Active-learning course
Most classes are interactive
Course by professor with work experience
Work experience Work experience and relevance to the course content if applicable
N/A N/A
Education related SDGs:the Sustainable Development Goals
  • 4.QUALITY EDUCATION
Last modified : Sat Mar 14 13:54:59 JST 2026