2020 Advanced Procedural Programming

Font size  SML

Register update notification mail Add to favorite lecture list
Academic unit or major
Undergraduate major in Computer Science
Instructor(s)
Ohue Masahito  Takase Sho 
Course component(s)
Lecture / Exercise
Day/Period(Room No.)
Mon5-8(GSIC 3階 312号室, GSIC Rm312 3Fl)  Thr5-6(W611)  
Group
-
Course number
CSC.T253
Credits
3
Academic year
2020
Offered quarter
2Q
Syllabus updated
2020/3/24
Lecture notes updated
-
Language used
Japanese
Access Index

Course description and aims

This course provides the theory and practice for advanced procedural C programming, by means of lectures and exercises. The first half focuses on pointer variables, string processing, structures, and dynamic memory allocation, which lead to studying algorithms, data structures, and methodologies for producing a large program in the last half. Additionally, students are requested to fully utilize those knowledge and skills to implement large programs associated with practical information processing, such as solving puzzles and pattern recognition. It is desired that students are equipped with fundamental knowledge for C language through, for example "Procedural programming fundamentals (CSC.T243)".

Student learning outcomes

Students are requested to learn and use the following skills: a) producing C programs associated with pointer variables, structures, and dynamic memory allocation; b) selectively using the optimal algorithm and data structure (e.g., stacks, queues, linked lists, and tree structures) to solve the problem in question; c) programming techniques required for practical information processing tasks and debugging for large programs.

Keywords

Procedural programming, pointer variables, string processing, structures, dynamic memory allocation, stacks, queues, linked lists, tree structures, tree search, algorithms, data structures, complexity, and debug

Competencies that will be developed

Intercultural skills Communication skills Specialist skills Critical thinking skills Practical and/or problem-solving skills

Class flow

Three time slots in one week consists of a single slot for a lecture and two slots for exercises related to the lecture.

Course schedule/Required learning

  Course schedule Required learning
Class 1 [Exercise] Introduction to advanced programming and preparation to computer environments Available during each class.
Class 2 [Lecture] Pointer variables Available during each class.
Class 3 [Exercise] Pointer variables Available during each class.
Class 4 [Lecture] String processing Available during each class.
Class 5 [Exercise] String processing Available during each class.
Class 6 [Lecture] Structures and dynamic memory allocation Available during each class.
Class 7 [Exercise] Structures and dynamic memory allocation Available during each class.
Class 8 [Lecture] Stacks, queues, and linked lists Available during each class.
Class 9 [Exercise] Stacks, queues, and linked lists Available during each class.
Class 10 [Lecture] Tree structures and tree search Available during each class.
Class 11 [Exercise] A program for advanced information processing: Design Available during each class.
Class 12 [Lecture] Methodologies for producing large programs, and advanced topics Available during each class.
Class 13 [Exercise] A program for advanced information processing: Implementation and evaluation Available during each class.
Class 14 Achievement evaluation Available during each class.

Textbook(s)

Materials will be available during each lecture and exercise.

Reference books, course materials, etc.

The C Programming Language 2nd Edition, Brian W. Kernighan , Dennis M. Ritchie, Prentice Hall, 1988

Assessment criteria and methods

examination (50%) and report for project-based programming (50%)

Related courses

  • CSC.T243 : Procedural Programming Fundamentals
  • CSC.T263 : Functional Programming Fundamentals
  • CSC.T273 : Object-Oriented Programming
  • CSC.T344 : System Programming
  • CSC.T354 : Parallel Programming
  • XCO.T490 : Exercises in fundamentals of artificial intelligence
  • XCO.T488 : Exercises in fundamentals of data science
  • LAS.I111 : Information Literacy I
  • LAS.I112 : Information Literacy II
  • CSC.T362 : Numerical Analysis

Prerequisites (i.e., required knowledge, skills, courses, etc.)

This unit is recommended for 2nd-year students from the CS department. Due to the limited space and the number of equipment, this unit may not be able to accept students from other departments. Registered students MUST attend the first class.

Office hours

Wednesday afternoon (appointment via email is required)

Page Top