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

  1. Kernighan, B. W. & Ritchie, D. M. The C Programming Language, 2nd Edition. Prentice Hall, 1988.

5. Specific course information

  1. 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.
  2. prerequisites or co-requisites
  3. indicate whether a required, elective, or selected elective (as per Table 5-1) course in the program
    Required :

6. Specific goals for the course

  1. specific outcomes of instruction (e.g. The student will be able to explain the significance of current research about a particular topic.)
    1. CLO1 Understand computer systems concepts, different computing environments, computer languages, and the system development life cycle.
    2. 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).
    3. CLO3 Understand and apply expressions, precedence rules, associativity in evaluating expressions, type conversions, and various statement types.
    4. CLO4 Develop and implement programs using arrays, pointers, and functions, including sorting algo- rithms, search algorithms, and string manipulations.
    5. CLO5 Understand and utilize complex data structures such as structures, unions, and enumerated types.
    6. CLO6 Recognize the importance of effective communication, ethical and professional responsibilities in engineering, and the impact of engineering solutions in various contexts.
  2. 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

หมายเหตุ - ลำดับเนื้อหาจะมีการปรับเปลี่ยนตามความเหมาะสม