Canceled on 2018.
Course title
A0736800
The C Language for Mechanical Engineering

futai nobuyuki Click to show questionnaire result at 2017
Course description
The course covers relatively advanced topics of programming in the C programming language particularly useful in the context of mechanical engineering. Emphasizes are on numerical and embedded programming with small-scale prototyping of microcontroller circuits. Since this course will not fully cover fundamental topics in the computer and computer languages including the C language, completion of an introductory C course in informatics is recommended.
Purpose of class
The objective of this course is to help student write programs in the C language for various applications related to a wide range of mechanical engineering.
This course deals with the concepts and typical methods in embedded programming: (cross compiler environment, direct memory/IO access etc.).
Goals and objectives
  1. Students should be able to make a prototype of microcontroller boards.
  2. Students should be able to write C programs that implement numerical algorithms for limited processor/memory resources.
  3. Students should be able to handle hardware such as mechanical switches, motors, and sensors.
Language
English
Class schedule

Class schedule HW assignments (Including preparation and review of the class.) Amount of Time Required
1. Introduction / Syllabus overview
Lecture: Basics in embedded programming and microcontrollers
Research the definition and examples of embedded systems. 60minutes
2. Lecture: Software development for the PIC microcontroller.
Project: Microcontroller prototyping (1)
Research some examples of PIC-based prototyping. 60minutes
3. Lecture: Basics in USB
Project: Microcontroller prototyping (2)
Research the basic concepts in USB. 90minutes
4. Lecture: Firmware and serial bootloader programming
Project: Microcontroller prototyping (3) and Testing
Complete the prototyping of the microcontroller board. 160minutes
5. Lecture: Mechanical switch and debouncing / Interrupt handling
Project: Count-based debouncer
Research the definition and examples of debouncing. 160minutes
6. Lecture: Bitwise operations
Project: Bitwise-buffer debouncer
Debug and complete the count-based debouncer. 160minutes
7. Lecture: Serial-bus I/O and string conversion
Project: Unit converter
Research the string conversion functionality in the C language. 90minutes
8. Lecture: Fixed-point arithmetic
Project: Tap hole size calculator
Research the basic concepts in the fixed-point arithmetic. 90minutes
9. Lecture: AD conversion
Project: Temperature Logger
Research the AD conversion its various types. 90minutes
10. Lecture: I2C Communication
Project: Colorimetric pH measurement
Research the basic concepts in the I2C bus. 90minutes
11. Lecture: DA conversion / constant-current power drive
Project: Colorimetric pH measurement(2)
Code the program of colorimetric pH measurement. 160minutes
12. Lecture: PWM signal generation
Project: Motor speed controller (1)
Debug and complete the colorimetric pH measurement. 160minutes
13. Lecture: Digital PID controller
Project: Motor speed controller (2)
Debug and complete the motor speed controller. 160minutes
14. Final exam and explanation Review the codes you have programmed. 240minutes
15. *
Total. - - 1770minutes
Relationship between 'Goals and Objectives' and 'Course Outcomes'

Prototyping Projects Exam Total.
1. 20% 0% 0% 20%
2. 20% 20% 40%
3. 20% 20% 40%
Total. 20% 40% 40% -
Evaluation method and criteria
Usual performance (prototype circuits, and codes):60%, Final exam: 40%

This course will give a pass mark (60 points) to students who have successfully made readable and working embedded program codes with assistance from the lecturer or other participants.
Textbooks and reference materials
No textbook is required. Recommended textbooks are
The C Programming Language. (2nd ed 1988) by Prentice Hall, Kernighan, B., and Ritchie D.
Numerical Recipes in C (2nd ed 1994) by W.H. Press, S.A. Teukolsky, W.T. Vetterling and B,P. Flannery
Prerequisites
Completion of an introductory course in any computer language is strongly recommended.
Office hours and How to contact professors for questions
  • Office hours: Wednesday lunch hours (Toyosu) (appointment required)
    10~20 minutes after every class.
Relation to the environment
Non-environment-related course
Regionally-oriented
Non-regionally-oriented course
Development of social and professional independence
  • Course that cultivates a basic problem-solving skills
Active-learning course
More than one class is interactive
Last modified : Wed Oct 17 07:58:57 JST 2018