Syllabus data

Course Title
Applied Programming Exercise
Course Title in English
Applied Programming Exercise
Course Type
Major Courses
Eligible Students
School of Engineering
Target Grade
2Year
Course Numbering Code
HETBK2MCA5
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
Fall semester 2026
(Fall semester)
Instructor
Syoji Kobashi,Hirotake Yamazoe,Takayuki Wada
Affiliation
Graduate School of Engineering
Language of Instruction
Japanese
Related SDGs
4/9
Office Hours and Location

Questions and consultations should, in principle, be requested in advance via the UNIPA Q&A system.

Face-to-face consultations are available on Thursdays from 12:10 to 13:00 in Room 6313, Building 6.

Depending on the circumstances, online meetings may be arranged.

Contact

If you have any questions or need to contact the instructors, please use the UNIPA Q&A system.


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 aims to further develop the fundamental programming skills acquired in “Computer Programming Seminar” and “Seminar of Computer Programming 1” and to cultivate information processing abilities that can be practically applied in engineering fields.

In the first half of the course, students learn the concepts of data structures and algorithms through hands-on exercises using the C language, and develop the ability to design and implement programs with consideration for computational efficiency and memory management.

In the second half, students engage in practical exercises using Python to learn the basics of numerical computation, data processing, visualization, and file input and output, and to experience the introductory use of external libraries and machine learning.

Rather than focusing solely on syntax, the course emphasizes the entire problem-solving process, including analyzing problem structures, selecting appropriate methods, implementing programs, and examining and discussing the results, with the goal of enabling students to actively utilize information technology in their future specialized fields.


Learning Outcomes

  1. Students will be able to explain C language programs from the perspectives of data structures and algorithms.

  2. Students will be able to implement basic algorithms in C language while considering computational complexity and memory usage.

  3. Students will be able to create programs that satisfy given specifications by selecting appropriate data structures and algorithms.

  4. Students will be able to write basic Python programs that perform numerical computation, data processing, and simple visualization.

  5. Students will be able to organize processing procedures for given tasks or real data, implement them as programs, and analyze the execution results.

Subtitle and Keywords of the Class

Subtitle 

Practical Programming and Data Processing Techniques Using C and Python 


Keywords 

  • C language 

  • Python 

  • Data structures 

  • Algorithms 

  • Numerical computation 

  • Data processing 

  • Visualization 

  • Machine learning 

  • Programming practice

Course Overview and Schedule
[Lecture Content]
This course provides hands-on programming exercises using the C language and Python.
Through the practical implementation of algorithms and data processing, students will gradually acquire fundamental concepts of programming as well as essential implementation skills.
In the first half of the course, students work with the C language to study basic data structures such as linked lists and tree structures.They implement search and sorting algorithms based on these data structures, confirming processing procedures and operational principles through actual coding to deepen their understanding of algorithms.
In the second half of the course, programming exercises using Python are conducted.In the first part of the Python section, students learn fundamental topics including environment setup, basic syntax, control structures, data structures, and numerical computation.In the latter part, students address program structuring using functions, file input and output, the use of external libraries, numerical computation, and data visualization.Furthermore, through data processing using real-world datasets, students experience the workflow of prediction and decision-making using machine learning libraries as a foundation for AI and artificial intelligence–related technologies.
Through these exercises, students will understand both the commonalities and differences in implementation methods across different programming languages, and develop fundamental abilities to select appropriate algorithms and implementation approaches according to given tasks, as well as to explain processing methods and results.

[Course Schedule]
C Language Programming Exercises
Week 1 Guidance, confirmation of the programming environment, basic structure and operations of linked lists.
Week 2 Fundamentals of tree structures and search processing using tree structures.
Week 3 Search algorithms: linear search and binary search.
Week 4 Sorting algorithms: selection sort and insertion sort.
Week 5 First Learning Achievement Assessment Exercise (Content from Weeks 1–4)

Programming Exercises in Python
Week 6 Python development environment setup and basic program execution.
Week 7 Variables and operators, fundamentals of numerical computation.
Week 8 Conditional statements and control structures.
Week 9 Data management using lists and tuples.
Week 10 Second Learning Achievement Assessment Exercise (Content from Weeks 6–9)
Week 11 Program structuring through function definitions.
Week 12 String manipulation, file input and output, and use of external modules.
Week 13 Numerical computation and data visualization using NumPy and Matplotlib.
Week 14 Fundamentals of AI and artificial intelligence, and experience with prediction and decision-making using machine learning libraries.
Week 15 Third Learning Achievement Assessment Exercise (Content from Weeks 6–13)
In-person/Remote Classification
In-person
Implementation Method and Remote Credit Limit Application
This course is conducted primarily in a face-to-face format.
Practical exercises are carried out in an on-campus computer laboratory, where designated laboratory PCs are used for program development and execution verification.
Distribution of course materials and official announcements are provided through UNIPA.
Uses of Generative AI
Limited permission for use
Precautions for using Generative AI
In this course, the use of generative AI is prohibited during all on-campus practical exercises and during all Learning Achievement Assessment Exercises from the first through the third.
On the other hand, the use of generative AI is permitted for preparation and review conducted outside the classroom, provided that it is used solely for the purpose of deepening understanding of the course content.
In such cases, students must not use the output of generative AI verbatim, but should review and verify the content and make use of it only after fully understanding it.
Textbook
Introduction to C Programming through Examples (2nd Edition)
Author(s): Isao Oishi, Koichi Asakura
Publisher: Musuri Publishing
Price: 2,310 JPY (excluding tax)
ISBN: 978-4-89641-309-0

Self-Study Python, 2nd Edition
Author: Yoshihiro Yamada
Publisher: Shoeisha
Price: 3,280 JPY (excluding tax)
ISBN: 978-4-7981-8949-9
References
Self-Study C (New Edition)
Publisher: Shoeisha
ISBN: 978-4-7981-5024-6

Contents and Estimated Time for Pre- and Post- Learning (Preparation and Review)

Pre-class Study:

Students are expected to review the relevant sections of the textbooks and distributed materials in advance, and to familiarize themselves with the practical content and terminology to be covered in the class.

They should also check the structure of the programs and the main \processing procedures to be handled in the practical exercises beforehand.

As a guideline, students are expected to spend approximately 0.5 hours per session on pre-class study.

Over 15 sessions, the total estimated time for pre-class study is approximately 7.5 hours.


Post-class Study

To consolidate their understanding of the practical exercises conducted in class, students are expected to organize their programs and work on assigned tasks after each class.

Students should review the grading results and feedback for submitted assignments via UNIPA, and make revisions as necessary.

As a guideline, students are expected to spend approximately 0.5 hours per session on post-class study.

Over 15 sessions, the total estimated time for post-class study is approximately 7.5 hours.


Total Time for Pre-class and Post-class Study

The combined total time for pre-class and post-class study is estimated to be approximately 15 hours.


Contents of Active Learning
In this course, active learning is incorporated to help students develop practical programming skills through exercise-centered classes.

Fundamental topics required for the exercises, such as programming syntax, algorithms, and data structures, are provided in advance as preparatory materials. Students are expected to understand these materials before participating in the practical sessions. The exercises are conducted on the premise that students have reviewed the preparatory content, and detailed explanations of syntax or algorithms are not provided during class.

Students are required to think independently about the given tasks, develop programs, and work toward solutions through trial and error while verifying execution results. During the exercises, students exchange ideas and share information with peers, and discuss the causes of errors and appropriate processing methods, thereby learning multiple perspectives and problem-solving approaches. Instructors and teaching assistants provide guidance and feedback as needed to support students’ active and self-directed learning.

Through these learning activities, students are expected not only to acquire knowledge and skills in programming, but also to develop the ability to analyze and solve problems, as well as the attitude to learn collaboratively with others.
Grading Criteria and Methods

[Grading Criteria]

In this course, grades are evaluated based on the level of achievement of the abilities described in the course objectives and learning outcomes, including knowledge, skills, thinking ability, and judgment.

The final grade is calculated on a 100-point scale. Grades of S (90 points or higher), A (80 points or higher), B (70 points or higher), and C (60 points or higher) are considered passing grades, and course credit is awarded.

The following aspects are emphasized in evaluation.

  1. Students are able to explain C language programs from the perspectives of algorithms and data structures.

  2. Students are able to implement algorithms appropriately and efficiently in C based on their understanding.

  3. Students are able to create programs that satisfy given specifications while considering computational complexity and memory usage.

  4. Students are able to create basic programs using Python and perform numerical computation and data processing.


[Methods of Evaluation]

The final grade is calculated by combining items 1 and 2 below.

  1. Achievement Assessment Exercises (2 times)
    Each assessment is graded on a 100-point scale.
    The combined result accounts for 70 percent of the final grade.

  2. Weekly Assignments
    Each weekly exercise assignment must be submitted during class and is graded on a 100-point scale.
    If resubmission is permitted, the revised submission is also evaluated.
    The total score of weekly assignments accounts for 30 percent of the final grade.


Class Participation

  • Students’ engagement in exercises and their approach to questions and problem solving are considered as reference information when evaluating items 1 and 2.

  • No points are awarded based solely on class participation.


[Eligibility for Course Credit]

  1. If a student is absent from either of the achievement assessment exercises, the student becomes ineligible for course credit.

  2. If a student has a total of three or more absences or missing submissions, including achievement assessment exercises and weekly assignments, the student becomes ineligible for course credit.

  3. No final examination is conducted in this course.

How to Disclose Assignments and Exam Results
For weekly practical assignments, scores and comments will be returned through the UNIPA class profile system.
If an assignment does not receive a full score (100 points), resubmission may be required for the purpose of deepening understanding, and the revised submission will be re-evaluated.

Results of the learning achievement confirmation exercises will also be returned through the UNIPA class profile system, together with scores and written feedback.In addition, overall trends and evaluation criteria will be explained during class to help students apply the feedback to their subsequent learning.

Upon student request, individual feedback may be provided using online meeting systems or similar tools, with guidance on how to improve assignments and learning strategies.
Precautions and Requirements for Course Registration
This course aims to develop programming skills from the fundamentals to more advanced topics through hands-on exercises using C and Python.
Completion of Programming Exercises, Computer Practice, Programming Theory I, and Programming Theory II is not a mandatory requirement for enrollment in this course. However, it is desirable that students have completed Programming Exercises, Computer Practice, and Programming Theory I, and have at least taken Programming Theory II.
Based on the knowledge and skills acquired in these courses, this class focuses on learning more advanced programming techniques and algorithms through practical exercises.
Please note that the content and order of the exercises described in the course schedule may be adjusted within the scope of the syllabus, depending on students’ level of understanding and the overall progress of the class.Students are therefore expected to respond flexibly to such adjustments in order to achieve the learning objectives.
Practical Education
Not applicable.
Remarks
If you are unable to attend a class, please submit a medical certificate or a receipt issued by a medical institution to all instructors via the UNIPA Q&A system.
Submitted documents must clearly indicate the student’s name and date.
Please note that learning achievement assessment exercises are conducted in a manner equivalent to examinations; therefore, only medical certificates will be accepted as valid documentation for absence in these sessions.

All regular exercises are conducted using computers installed in the computer laboratory.
Students may use their own personal laptops, provided that doing so does not interfere with the course content. However, support will not be provided for environment setup or technical issues that fall outside the scope of this course.
All learning achievement assessment exercises are conducted exclusively using the laboratory computers.
Accordingly, students are expected to be familiar with basic operation of the laboratory computers in advance.
No remedial measures will be provided due to insufficient familiarity with computer operation.
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.