Course title
プログラミングⅠ   [Computer ProgrammingⅠ]
Course category technology speciality courses  Requirement   Credit 2 
Department   Year 14  Semester 1st 
Course type 1st  Course code 021606
Instructor(s)
藤波 香織   [FUJINAMI Kaori]
Facility affiliation Graduate School of Bio-Applications and Systems Engineering Office   Email address

Course description
[Objective] Programming is important not only for developing software but also for understanding algorithms (solutions to problems). The objective of this lecture is to acquire basic knowledge and skills in programming using C language which is one of the most widely used programming languages.

[Outline] In this lecture, we aim to acquire attitudes to write good programs and explanation that are easy to understand for readers, easy to modify and extend based on familiar themes. Topics to cover include I/O, assignment, repetition, condition , array, function, pointer, numerical calculation, data structure, etc. Students are expected to understand these topics but also to obtain similar results more efficiently or more accurately in order to acquire knowledge and skills necessary to learn other subjects. This lecture does not explain exhaustively the C language grammar.

This class is offered by a lecturer who has a practical experience in industry regarding software development and shows examples in a company.
Expected Learning
1. Understand the basic idea of ??programming in C language for a given task.
2. Learn features necessary for programming such as control structures, arrays, functions, pointers, struct.
3. Learn variable scope and the difference of function arguments between passed by value and passed by pointer.
4. Learn basic file operations.
5. Learn the basic idea for accurate numerical calculation.
See the Curriculum maps.
Course schedule
1. Introduction
Topics: introduction to computer and programming
2. Display of poetry and song
Topics: programming basics
Related C features: variables, operators, loops
3. Greatest common measure
Topics: algorithms
Related C features: assignment, condition check and control flow
4. Calculation of square root
Topics: Newton's method
Related C features: format control
5. Compatibility fortune telling by blood type 1
Topics: program abstraction
Related C features: array variables
6. Compatibility fortune telling by blood type 2
Topics: structured programming
Related C features: functions and arguments
7. Sorting
Topics: function modifying argument values
Related C features: pointer variables and scope of variables
8. Vectors and matrices
Topics: array arguments and computational complexity
Related C features: array arguments
9. Quadratic equation
Topics: loss of trailing digits and cancellation of significant digits
10. Simple statistical processing
Topics: file I/O
Related C features: file operations
11. Physical simulation
Topics: quadrature by parts
12. Calculation of Pi 1
Topics: relation of the number of calculation and errors
13. Calculation of Pi 2
Topics: calculation accuracy and efficiency
14. Multiple precision arithmetic
Topics: data structure
Related C features: struct
15. Maze solving
Topics: recurrence relation and recursive programs
Related C features: recursive functions
Prerequisites
It is a required subject, and related closely to "Computer programming I: exercises," "Computer programming II," and "Computer programming II: exercises." Because this subject does not include exercises, students should fully work on exercises in "Computer programming I: exercises" held in the same period. In addition to 30 hours of this course, prepare and review for the same hours using the exercises indicated at the end of each chapter of the textbook.
Required Text(s) and Materials
The textbook "Computer programming I" (written in Japanese) is used.
References
Assessment/Grading
The mid-term and the final examinations 100%
Message from instructor(s)
Students should always try creating programs as concise as possible and easy to understand. Even if one solution or program is found, always consider that further improvement is possible. In addition, consider computational complexity so that created programs have sufficient performance for larger size of data.
Course keywords
programming, program, C language
Office hours
Usually answer questions after the class. Otherwise, Please make an appointment by sending email to .
Remarks 1
Google Classroom code: ydz5fav
Remarks 2
Related URL
Lecture Language
Japanese
Language Subject
Last update
3/28/2022 6:30:18 PM