概要:
In the first half-term, this course provides an introduction and implementation of computer programming; C language.
C language is one of the most widely used computer language in the world and it's very useful for you to lean C language. This course covers pointer, structures, memory allocation, task management and interprocess communication program.
In the second-half,
授業の進め方・方法:
Flipped teaching will be introduced in this subject. Learning video will be provided by uploading on Web server in advance of the class. Students have to access ther web server and watch the video for self-learning. Only students who learned by watching the video can participate in the class.
During class, students have to discuss with friends/team-mates in order to solve problems that are given at the beginning of each class, and submit a report within the class.
注意点:
In order to understand contents of this course, it's very important for students to make as many programs as possible.
Prescribed teaching hours : 60 hours a year
|
|
週 |
授業内容 |
週ごとの到達目標 |
前期 |
1stQ |
1週 |
Introduction |
Students will be able to understand the basic concepts of programming in C.
|
2週 |
Memory, Pointers and Strings(1) |
Students will be able to understand similarities/differences between arrays and pointers. And, students will be able to make simple programs using pointers instead of arrays. Students will be able to know how to handle strings in C and use some built-in library functions.
|
3週 |
Memory, Pointers and Strings(2) |
Same as above.
|
4週 |
Structures, unions and bitfields(1) |
Students will be able to understand concept of structures, then will be able to use structures for handling data.
|
5週 |
Structures, unions and bitfields(2) |
Same as above.
|
6週 |
Dynamic Memory Allocation(1) |
Students will be able to know basic concept of linked list. Also, students will be able to know how to make data structure cope with flexible amounts of data by dynamically allocating memory on the heap.
|
7週 |
Dynamic Memory Allocation(2) |
Same as above.
|
8週 |
Dynamic Memory Allocation(3) |
Same as above.
|
2ndQ |
9週 |
Advanced Functions |
Students will be able to write programs that utilise dynamic memory allocation.
|
10週 |
Inter-Process Communication |
Students will be able to let processes work together and communicate with each other.
|
11週 |
Processes and System Calls(1) |
Students will be able to create and control processes using system services.
|
12週 |
Processes and System Calls(2) |
Same as above.
|
13週 |
Threads(1) |
Students will be able to know how to create threads and how to use synchronisation mechanisms to protect the integrity of sensitive data.
|
14週 |
Threads(2) |
Same as above.
|
15週 |
Evaluation & 1st term summary |
|
16週 |
|
|
後期 |
3rdQ |
1週 |
Introduction of Python programming |
Students can know what Python is, what Python can do, why we study Python.
|
2週 |
Basic Python Programming(1) |
Students will be able to understand what variables, expressions and statements.
|
3週 |
Basic Python Programming(2) |
same as abovbe
|
4週 |
Functions and Modules(1) |
Students will be able to understand how functions works and how to utilise modules in Python.
|
5週 |
Functions and Modules(2) |
same as abovbe
|
6週 |
Conditionals(1) |
Students will be able to understand conditions and how to change the program behaviour depending on the outcome of the programs.
|
7週 |
Conditionals(2) |
same as abovbe
|
8週 |
Strings |
Students will be able to understand how to handle strings in Python.
|
4thQ |
9週 |
Mitterm test |
Students will be able to recap all topics they study from week 1 to week 8, and review the topics.
|
10週 |
Lists(1) |
Students will be able to understand what list is and how we use list in Python.
|
11週 |
Lists(2) |
same as abovbe
|
12週 |
Files and Dictionaries(1) |
Students will be able to understand how to handle files, what dictionaries are, how to utilise them.
|
13週 |
Files and Dictionaries(2) |
same as abovbe
|
14週 |
Files and Dictionaries(3) |
same as abovbe
|
15週 |
Evaluation & Course summary |
|
16週 |
|
|
分類 | 分野 | 学習内容 | 学習内容の到達目標 | 到達レベル | 授業週 |
基礎的能力 | 工学基礎 | 情報リテラシー | 情報リテラシー | 同一の問題に対し、それを解決できる複数のアルゴリズムが存在しうることを知っている。 | 3 | 前3,前5,前8,前9,前10,前12,前14,前15,後3,後5,後7,後8,後9,後11,後13,後14,後15 |
与えられた基本的な問題を解くための適切なアルゴリズムを構築することができる。 | 3 | 前3,前5,前8,前9,前10,前12,前14,前15,後3,後5,後7,後8,後9,後11,後13,後14,後15 |
任意のプログラミング言語を用いて、構築したアルゴリズムを実装できる。 | 3 | 後3,後5,後7,後8,後9,後11,後13,後14,後15 |
分野横断的能力 | 汎用的技能 | 汎用的技能 | 汎用的技能 | 書籍、インターネット、アンケート等により必要な情報を適切に収集することができる。 | 3 | |
収集した情報の取捨選択・整理・分類などにより、活用すべき情報を選択できる。 | 3 | |
収集した情報源や引用元などの信頼性・正確性に配慮する必要があることを知っている。 | 3 | |
課題の解決は直感や常識にとらわれず、論理的な手順で考えなければならないことを知っている。 | 3 | |