Course title | |||||
プログラミングⅠ [Computer ProgrammingⅠ] | |||||
Course category | technology speciality courses | Requirement | Credit | 2 | |
Department | Year | 1~4 | Semester | 1st | |
Course type | 1st | Course code | 021608 | ||
Instructor(s) | |||||
清水 昭伸 [SHIMIZU Akinobu] | |||||
Facility affiliation | Faculty of 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. |
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%. Note that above assessment method may change due to corona infection spread. |
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. |
Remarks 1 |
Remarks 2 |
Related URL |
google classroom (class code : xlxq2uj) |
Lecture Language |
Japanese |
Language Subject |
Last update |
4/1/2022 8:30:36 AM |