Course title
L00100002
Fundamental Exercise on Computer Science and Engineering 1A

IJIRI Takashi
Course description
In this class, we will review the contents presented in Introduction to Programming 1 and 2 concerning C language, such as "pointers" and "structures." We also solve various problems concerning basic data structures and algorithms explained in the class "Data Structures and Algorithms 1'.
Purpose of class
Through programming exercises, we will experience and deepen our understanding of the various algorithms presented in the class 'Data Structures and Algorithms 1'. Additionally, we will develop the ability to implement various algorithms using the C language.
Goals and objectives
  1. Be able to write programs using pointers and structures.
  2. Be able to write programs related to search problems using representative algorithms.
  3. Be able to write programs related to representative data structures.
  4. Be able to write programs related to dynamic search problems using representative algorithms.
  5. Be able to efficiently debug programs.
Relationship between 'Goals and Objectives' and 'Course Outcomes'

Review assignment regular assignment Total.
1. 4% 15% 19%
2. 4% 15% 19%
3. 4% 16% 20%
4. 5% 16% 21%
5. 5% 16% 21%
Total. 22% 78% 0% 0% -
Evaluation method and criteria
Review assignments (22%) mainly consist of programming tasks related to the content of the previous class.
Regular assignments (78%) mainly consist of programming tasks related to the algorithm newly explained.

Solving all the review assignments and only the basic regular assignments in each exercise will be considered 60%.
Solving both the review assignments and the basic regular assignments will be considered 80%
Language
Japanese
Class schedule

Class schedule HW assignments (Including preparation and review of the class.) Amount of Time Required
1. Review of C language: scope, print, break continue, recursive call Review assignments, solve advanced assignments. 200minutes
2. Review of C language: bit operation, Boolean operation, compound assignment operator, function prototype, pointers. Review assignments, solve advanced assignments. 200minutes
3. Review of C language: float, double, structures, array Review assignments, solve advanced assignments. 200minutes
4. Review of C language: structures, malloc, free, string, enum Review assignments, solve advanced assignments. 200minutes
5. Algorithm: maximum interval sum, minimum interval sum Review assignments, solve advanced assignments. 200minutes
6. search problem 1:
binary search, m-block method
Review assignments, solve advanced assignments. 200minutes
7. search problem 2:
binary search. hash table.
Review assignments, solve advanced assignments. 200minutes
8. basic data structure1: array and linked list Review assignments, solve advanced assignments. 200minutes
9. basic data structure 3:
stack, queue.
Review assignments, solve advanced assignments. 200minutes
10. basic data structure 4:
heap
Review assignments, solve advanced assignments. 200minutes
11. Dynamic search problem.
Binary search tree (add and delete nodes, find minimum and maximum nodes)
Review assignments, solve advanced assignments. 200minutes
12. Dynamic search problem. 
AVL tree
Review assignments, solve advanced assignments. 200minutes
13. Sort 1 Review assignments, solve advanced assignments. 200minutes
14. Sort 2 Review assignments, solve advanced assignments. 200minutes
Total. - - 2800minutes
Feedback on exams, assignments, etc.
ways of feedback specific contents about "Other"
Feedback in outside of the class (ScombZ, mail, etc.)
Textbooks and reference materials
Textbook: IT Text アルゴリズム論 浅野哲夫・和田幸一・増澤利光共著,情報処理学会編集(オーム社)
Reference material: 問題解決力を鍛える!アルゴリズムとデータ構造 大槻 兼資 (講談社)
Prerequisites
It is necessary to have taken "Introduction to programming 1 and 2" or to understand basic grammar of C language.
Office hours and How to contact professors for questions
  • Hirakawa: Tuesday 12:30-13:20
  • Ijiri: Friday 10:50-12:30
Regionally-oriented
Non-regionally-oriented course
Development of social and professional independence
  • Course that cultivates a basic self-management skills
  • Course that cultivates a basic problem-solving skills
  • Course that cultivates an ability for utilizing knowledge
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
Applicable 実務経験のある教員による授業科目の具体的内容 :
一般企業でプログラム開発の経験を有している。実際の開発現場での経験を通し、学んでいる技術が実践的な技術であることを実感できる工夫をしている。例えば、学んだ技術を使ったプログラムと使っていないプログラムの両方を実行させて時間計測し、その実行速度の差を実感できる演習課題をいくつか盛り込んでいる。
Education related SDGs:the Sustainable Development Goals
  • 9.INDUSTRY, INNOVATION AND INFRASTRUCTURE
  • 12.RESPONSIBLE CONSUMPTION & PRODUCTION
Last modified : Sat Mar 08 04:20:28 JST 2025