This course gives an overview of programming, including logic gates, machine codes, low-level and high-level programming languages, theory of computability and complexity, and verification of programs. Ethical issues in science are also discussed. Programming exercise is provided.
This course is the starting point of all the studies in our department of Mathematical and Computing Science.
At the end of this course, students will acquire basic knowledge and skills in programming.
programming, machine code, high-level programming language, control flow, data structure, computability, program verification, ethics of science.
Intercultural skills | Communication skills | Specialist skills | Critical thinking skills | Practical and/or problem-solving skills |
---|---|---|---|---|
- | - | ✔ | - | ✔ |
Lecture and programming excercise.
Course schedule | Required learning | |
---|---|---|
Class 1 | introduction, programming paradigm | Instructed in the class. |
Class 2 | logic gate, boolean algebra | Instructed in the class. |
Class 3 | adder, flip-flop | Instructed in the class. |
Class 4 | machine code | Instructed in the class. |
Class 5 | high-level programming language, compiler | Instructed in the class. |
Class 6 | floating point number, precision in computation | Instructed in the class. |
Class 7 | control flow (1): conditional branching, loop | Instructed in the class. |
Class 8 | control flow (2): function call, recursion | Instructed in the class. |
Class 9 | data structure (1): tuple, list, pattern matching | Instructed in the class. |
Class 10 | data structure (2): higher-order function, polymorphism | Instructed in the class. |
Class 11 | computational complexity, computability | Instructed in the class. |
Class 12 | program verification (1): model checking | Instructed in the class. |
Class 13 | program verification (2): Hoare logic | Instructed in the class. |
Class 14 | ethics of science | Instructed in the class. |
Class 15 | ethics of science | Instructed in the class. |
unfixed
unfixed
Students’ course scores are based on final exams (30%), programming excercise (60%), and other exercise problems (10%).
Only the students of Department of Mathematical and Computing Science can take this course.
Students must have successfully completed Information Literacy I and II (LAS.I111, LAS.I112) or have equivalent knowledge.