Syllabus data

Course Title
Programming Exercise Ⅱ
Course Title in English
Programming Exercise Ⅱ
Course Type
Major Courses
-
Eligible Students
School of Engineering
Target Grade
2Year
Course Numbering Code
HETBL2MCA5
Credits
2.00Credits
The course numbering code represents the faculty managing the subject, the department of the target students, and the education category (liberal arts / specialized course). For detailed information, please download the separate manual from the upper right 'question mark'.
Type of Class
実習 (Practical Training)
Eligible Year/Semester
Spring semester 2026
(Spring semester)
Instructor
Manabu Nii,Eiko Furutani,Hikaru Hoshino,Syoji Kobashi,Takayuki Wada
Affiliation
Graduate School of Engineering
Language of Instruction
Japanese
Related SDGs
4
Office Hours and Location
Thursday 12:10–12:50 (Room 6313)
Students can ask questions about the lecture contents, assignments, and study methods.
In addition to face-to-face consultations, online meetings are also available.
If you wish to attend, please make a reservation in advance via UNIPA Q&A.
Contact
Please use the UNIPA Q&A system to contact the instructors.
Questions about course content, assignments, and grading will be shared among all instructors and handled appropriately.

Corresponding Diploma Policy
A double circle indicates the most relevant DP number and a circle indicates the associated DP.
Corresponding Undergraduate School DP
3◎/4〇/5〇
Corresponding Graduate School DP
Corresponding University-Wide DP
N/a
Academic Goals of Teacher Training Course

Course Objectives and Learning Outcome
[Course Objectives]
This course (Seminar of Computer Programming 1) aims to develop practical programming skills in the C language based on the knowledge acquired in Programming I and Information Processing Practice.
As a practice-oriented course that handles the contents learned in Programming II in a hands-on manner, students will deepen their understanding by writing, executing, and verifying actual programs.
Through exercises focusing on key concepts such as pointers, structures, dynamic memory management, and file processing, students are expected to learn how to design and implement working programs by thinking independently.

[Learning Outcomes]
  • Upon successful completion of this course, students will be able to:
  • Explain the basic structure of C programs and the flow of processing.
  • Design and implement programs in C based on given specifications.
  • Apply concepts such as pointers, structures, dynamic memory management, and file processing in practical programs.
  • Analyze the causes of errors and bugs based on execution results, and perform debugging and corrections appropriately.
  • Write programs with consideration for readability and maintainability, using appropriate comments and coding styles.
Subtitle and Keywords of the Class
[Subtitle]
Practical Programming Exercises in C — Understanding Lecture Topics through Implementation —

[Keywords]
  1. C programming
  2. Programming exercises
  3. Pointers
  4. Structures
  5. Dynamic memory management
  6. File handling
  7. Debugging
  8. Program design
Course Overview and Schedule
【Course Content】
This course (Seminar of Computer Programming 1) is based on the knowledge acquired in Programming I and Programming Practice during the first year, and it treats the topics learned in Programming II in a practical manner.
Through hands-on exercises in which students write programs and examine their execution results, they deepen their understanding of the syntax and processing mechanisms of the C programming language.
In particular, students learn important programming techniques such as pointers, structures, dynamic memory management, file processing, and algorithm implementation in a step-by-step manner by combining exercises with periodic checks of their level of understanding, with the aim of connecting conceptual understanding to practical skills.

【Course Schedule】
This course follows the schedule below and deepens students’ understanding of the C programming language through hands-on practice.
Session 1: Programming using an integrated development environment
Session 2: Basic C programming
Session 3: Fundamentals of pointers and address operations
Session 4: Fundamentals of functions and recursive functions
Session 5: Basic string manipulation using pointers and library functions
Session 6: Advanced string processing using pointers
Session 7: Understanding assessment exercise
(Assessment of understanding for content covered in Sessions 1–6)
Session 8: File operations and fundamentals of structures
Session 9: Advanced use of structures and pointers
Session 10: Programming with structures
Session 11: Dynamic memory management (malloc, free) and structures
Session 12: Complex structures (bit fields, list structures)
Session 13: Preprocessor
Session 14: Fundamentals of data structures and algorithms
Session 15: Comprehensive exercises and understanding assessment
(Assessment of understanding for content covered in Sessions 1–14)
In-person/Remote Classification
In-person
Implementation Method and Remote Credit Limit Application
Uses of Generative AI
Limited permission for use
Precautions for using Generative AI
In this course, the use of generative AI is prohibited during class sessions and during understanding assessment exercises.
These exercises are an important opportunity for students to improve their own programming skills, and students are expected to work on the tasks based on their own knowledge and abilities.
However, the use of generative AI is not restricted for preparation before class or review after class. Students may freely use generative AI to support their understanding of the course content and for self-study.
Textbook
Learning C Programming with Examples, 2nd Edition
Mitsuyuki Oishi, Hirokazu Asakura
Muisuri Publishing
ISBN: 978-4-89641-309-0

References
Mastering C Programming (Revised Edition)
arton
SHOEISHA Publishing
ISBN: 978-4-7981-5024-6
Contents and Estimated Time for Pre- and Post- Learning (Preparation and Review)

Pre-class Learning

Before each class, students are expected to read the relevant sections of the textbook and grasp the outline of the topics to be covered in the session.

In addition, students should review the basic structure of the programs and functions introduced in each class and confirm the fundamental syntax of the C programming language and related techniques, in order to prepare for the practical exercises.

As a guideline, pre-class learning requires approximately 2 hours per class, for a total of about 30 hours over 15 classes.

Post-class Learning

  • After each class, students are expected to deepen their understanding and consolidate their knowledge through the following activities:

  • Reimplement the programs created in class by writing the code again on their own and confirming the program behavior.

  • Solve the exercise problems and additional assignments to improve practical programming skills.

  • Review lecture materials and textbooks to clarify any points that were not fully understood.

  • Check feedback on submitted assignments via UNIPA and revise the programs based on the comments to learn better coding practices.

As a guideline, post-class learning requires approximately 2 to 3 hours per class, for a total of about 45 hours over 15 classes.

Contents of Active Learning
In this course, the following active learning approaches are incorporated to help students acquire practical programming skills and deepen their understanding.
  • Preparation-based engagement in practical exercises
    Students are encouraged to input and execute the example programs provided in the textbook before class. This allows them to approach in-class exercises with an understanding of program structure and behavior, and to focus on modifying and extending the code during the session.
  • Independent trial-and-error in problem solving
    During practical sessions, students work on the assigned tasks by thinking independently and implementing their own solutions. Rather than aiming only to obtain correct answers, emphasis is placed on verifying program behavior through trial and error and exploring appropriate implementation methods.
  • Peer discussion and collaborative learning
    Students are encouraged to engage in discussions and exchange ideas with classmates during the exercises. By discussing errors, questions, and implementation approaches, students learn different perspectives and solution strategies, which helps deepen their understanding.
  • Deepening understanding through questions to instructors and TAs
    When students encounter difficulties or have questions, they are encouraged to ask instructors and teaching assistants for guidance. Through these interactions, students receive feedback on program improvements and learn better implementation practices.
Through these active learning activities, the course aims to foster not only technical knowledge and skills but also problem-solving abilities and communication skills.

Grading Criteria and Methods

[Evaluation Criteria]

Students will be evaluated on their ability to understand the structure and behavior of C programs and to implement them appropriately.

Based on the level of achievement of the abilities described in the course objectives and learning outcomes (knowledge, skills, thinking ability, and judgment), overall performance will be evaluated and credits will be awarded.

  • S (90 points or higher)

  • A (80 points or higher)

  • B (70 points or higher)

  • C (60 points or higher)


[Evaluation Methods]

Students are required to submit assignments during each practical session. Each assignment is evaluated on a 100-point scale. Resubmission of assignments is allowed, and revised submissions are also included in the evaluation.

In addition, understanding assessment exercises are conducted twice to evaluate the achievement of the course objectives and learning outcomes. Each assessment is evaluated on a 100-point scale.

Final grades are determined based on the following weighting:

  • Understanding assessment exercises (2 times): 70%

  • Weekly assignment submissions (including resubmissions): 30%

Class participation, such as active engagement and asking questions, is also considered as a reference in the overall evaluation.

Students who are absent three times or more will lose eligibility to complete the course.

No final examination will be conducted.

How to Disclose Assignments and Exam Results
  • Results of weekly practical assignments are returned through the UNIPA class profile system, including scores and comments. If an assignment does not receive full marks (100 points), resubmission is required, and revised submissions are also subject to evaluation.
  • Results of the understanding assessment exercises are returned through the UNIPA class profile system, including scores and overall comments. When necessary, general explanations are provided during class.
  • Upon request from students, individual feedback is provided using an online meeting system.

Precautions and Requirements for Course Registration
  • This practical course secures two class periods per session (90 minutes per period, totaling 180 minutes). Of this time, 120 minutes are designated as the official practical session, and the remaining time may be used by students for self-study as appropriate. Attendance during the practical session is required in principle. If a student is unavoidably absent, they must notify the instructor before the start of the session and submit appropriate documentation afterward (e.g., a medical receipt in the case of illness).
  • It is desirable that students have a sufficient understanding of the contents covered in Programming I and Programming Practice.
  • As this practical course is conducted in coordination with Programming II, students are strongly encouraged to take these courses concurrently.
  • During practical sessions, students are expected to refrain from behavior that interferes with the class and to comply with the rules of the computer laboratory.
  • Practical sessions are conducted using the computers installed in the computer laboratory. Students may use their own laptops; however, questions related to environments outside the scope of the practical sessions will not be addressed.
  • Understanding assessment exercises are conducted using the computers provided in the computer laboratory. Students are therefore required to be familiar with their operation in advance. No special consideration will be given for insufficient familiarity with the equipment.

Practical Education
not available
Remarks
Course-related announcements and distribution of materials will be conducted via UNIPA.
The course content and schedule may be partially modified depending on the progress of the class.
In cases where any differences arise between the English version and the original Japanese version, the Japanese version shall prevail as the official authoritative version.