Course syllabus
010153002-68 การโปรแกรมคอมพิวเตอร์ (Computer Programming)
Course Syllabus
Data entry : Asst.Prof. Dr.Ruslee Sutthaweekul
1. Course number and name
010153002-68 การโปรแกรมคอมพิวเตอร์ (Computer Programming)
2. Credits and contact hours
3(2-2-5)
3. Instructor’s or course coordinator’s name
Asst.Prof. Dr.Ruslee Sutthaweekul
4. Text book, title, author, and year
- Kernighan, B. W. & Ritchie, D. M. The C Programming Language, 2nd Edition. Prentice Hall, 1988.
5. Specific course information
- brief description of the content of the course (catalog description)
Basic operations of a computer, required components of a computer, how hardware and software work together, data processing, fundamental of high level computer programming, application design and development, problem solving by using computer programming. - prerequisites or co-requisites
- indicate whether a required, elective, or selected elective (as per Table 5-1) course in the program
Required :
6. Specific goals for the course
- specific outcomes of instruction (e.g. The student will be able to explain the significance of current research about a particular topic.)
- CLO1 Understand computer systems concepts, different computing environments, computer languages, and the system development life cycle.
- CLO2 Write programs using basic programming constructs including identifiers, data types, variables, constants, input/output statements, logical and comparative operators, and control structures (selections and loops).
- CLO3 Understand and apply expressions, precedence rules, associativity in evaluating expressions, type conversions, and various statement types.
- CLO4 Develop and implement programs using arrays, pointers, and functions, including sorting algo- rithms, search algorithms, and string manipulations.
- CLO5 Understand and utilize complex data structures such as structures, unions, and enumerated types.
- CLO6 Recognize the importance of effective communication, ethical and professional responsibilities in engineering, and the impact of engineering solutions in various contexts.
- explicitly indicate which of the student outcomes listed in Criterion 3 or any other outcomes are addressed by the course.
ABET Student Outcome (SO) Listed in Criterion 3 Course learning outcome (CLO) SO1 an ability to identify, formulate, and solve complex engineering problems by applying principles of engineering, science, and mathematics. - CLO1 Understand computer systems concepts, different computing environments, computer languages, and the system development life cycle.
- CLO2 Write programs using basic programming constructs including identifiers, data types, variables, constants, input/output statements, logical and comparative operators, and control structures (selections and loops).
- CLO3 Understand and apply expressions, precedence rules, associativity in evaluating expressions, type conversions, and various statement types.
- CLO4 Develop and implement programs using arrays, pointers, and functions, including sorting algo- rithms, search algorithms, and string manipulations.
- CLO5 Understand and utilize complex data structures such as structures, unions, and enumerated types.
- CLO6 Recognize the importance of effective communication, ethical and professional responsibilities in engineering, and the impact of engineering solutions in various contexts.
SO2 an ability to apply engineering design to produce solutions that meet specified needs with consideration of public health, safety, and welfare, as well as global, cultural, social, environmental, and economic factors. - CLO1 Understand computer systems concepts, different computing environments, computer languages, and the system development life cycle.
- CLO2 Write programs using basic programming constructs including identifiers, data types, variables, constants, input/output statements, logical and comparative operators, and control structures (selections and loops).
- CLO3 Understand and apply expressions, precedence rules, associativity in evaluating expressions, type conversions, and various statement types.
- CLO4 Develop and implement programs using arrays, pointers, and functions, including sorting algo- rithms, search algorithms, and string manipulations.
- CLO5 Understand and utilize complex data structures such as structures, unions, and enumerated types.
- CLO6 Recognize the importance of effective communication, ethical and professional responsibilities in engineering, and the impact of engineering solutions in various contexts.
7. Brief list of topics to be covered
| Week | Topic | Details | Activities |
|---|---|---|---|
| 2 | Structure of a Program & Data Types Identifiers | variables, constants; integer, float, char; printf/scanf; type conversions. | Arithmetic operators, precedence rules, pre/post increment. |
| 3 | Expressions & Operators | Arithmetic, logical, and comparative operators; associativity; precedence; various statement types. | Type conversion exercises; operator precedence tasks. |
| 4 | Selection – Making Decisions | if, if-else, nested if, switch; ternary operator. | Grade classifier, switch on user input. |
| 5 | Repetition | while, do-while, for; break, continue; nested loops. | factorial, pattern printing, input validation. |
| 6 | Functions & Macros | Declaration, definition, call, return values; scope; recursion; #define macros. | Write and call helper functions; implement recursive factorial. |
| 7 | Arrays | 1-D and 2-D arrays; traversal; passing arrays to functions; sorting and searching algorithms. | Statistics on scores array; bubble sort; binary search. |
| 8 | Pointers | Address-of & dereference; pointer arithmetic; malloc/free; dynamic memory. | Address-of & dereference; pointer tracing; swap via pointers. |
| 9 | Strings | Null-terminated char arrays; strlen, strcpy, strcmp, strcat; pointer traversal; string manipulation. | my_strlen; reverse in place; palindrome checker; count vowels. |
| 10 | Enumerated, Structure, and Union Types | struct definition; . vs ->; pass-by-pointer; typedef; union; enum; memory padding. | Student record with ->; sort structs; tagged union area calculator. |
| 1 | Introduction to Computer & Programming, Computer components | hardware/software interaction, compilation pipeline, development environment. | Compile and run hello_world.c; explore compiler flags. |
8. Course Assessment
| Course assessment | Weight score (%) | Assessment tools | Date |
|---|---|---|---|
| Lab Exercises, Quizzes & Assignment | 40 | quiz, assignment | |
| Midterm Examination | 30 | midterm examination | |
| Final Examination | 30 | final examination |
The grading table
| Grading | Rank |
|---|---|
| >= 80% | A |
| 75% - 79.99% | B+ |
| 70% - 74.99% | B |
| 65% - 69.99% | C+ |
| 60% - 64.99% | C |
| 55% - 59.99% | D+ |
| 50% - 54.99% | D |
| 0% - 49.99% | F |
หมายเหตุ - ลำดับเนื้อหาจะมีการปรับเปลี่ยนตามความเหมาะสม