Extended Syllabus
(2019 2nd Semester)
Course
Course Title C Programming CSE2035
Number
Enrollment
Credit 3 1st Year
Eligibility
Class Time Tues,Thur 16:30-17:45 Classroom
Name: Saejoon Kim Homepage: abeek.sogang.ac.kr
Instructor's E-mail: [email protected] Telephone: 02-705-8931
Photo
Office: AS1005/02-705-8931
Office Hours: MWF 3-5pm
Ⅰ. Course Overview
1. Description
Improve the capability to use C Programming Language by studying basic concepts and grammar and
programming exercises. Lectures cover C Language Grammar, Algorithm, and Design. Programming
exercises will help students to apply knowledge learned in lectures to develop programs and
programming skills.
2. Prerequisites
Introduction to Engineering Design
3. Course Format (%)
Lecture Discussion Experiment/Practice Field study Presentations Other
50% 0% 50% 0% 0% 0%
4. Evaluation (%)
mid-term
Final exam Quizzes Presentations Projects Assignments Participation Other
Exam
30% 30% 0% 0% 15% 15% 10% 0%
Ⅱ. Course Objectives
In this course, students will study the basic concepts and grammar of the most widely used C
Programming Language, and improve C Language programming skills through programming
exercises and homeworks. Programming skill means the basic and essential grammar, basic
programming concept, and coding skill. Course consists of lectures and exercises. Students will
learn algorithm design and program design in the lectures, and develop programming skills in
the programming exercises.
Students are expected to develop following capabilities in this course.
- Basic grammar of C Language, basic programming concept and coding skills
- Application programming development skill
- Algorithm design skill
- Program design skill
1
- Management efficient program development skill
Ⅲ. Course Format
(* In detail)
Course consists of Lectures and Exercise, 50% for each. Lecture materials covered in each week will be
used for the exercise in the following weeks programming/exercise session.
Ⅳ. Course Requirements and Grading Criteria
Evaluate the following items among the ABEEK academic achievement measures.
1) Ability to apply Mathematics, basic science, and engineering knowledge and IT technology
2) Ability to understand and analyze data; plan and conduct experiments
3) Ability to design system, components, and process under the realistic constraints
4) Ability to identify engineering problems, formularize and solve them
5) Ability to use techniques, methods, and tools for engineering practical business
Homeworks and Project are evaluated by the following criteria.
1) Problem is solved by original and systematic mehtods.
2) Students are actively participated in the problem solving.
3) Part of the solution is copied.
4) Well documented.
Points for each evaluation itme can be changed later.
Ⅴ. Course Policies
Absence/Late, Homework submission, Exams are managed according to the school regulations.
Ⅵ. Materials and References
Main textbook: Lecture Notes
Computer Science: A Structured Programming Approach Using C - BEHROUZ
A.FOROUZAN, RICHARD F.GILBERG
Sub textbook: The C Programming Language - Brian W. Kernighan, Dennis M. Ritchie,
Practical C Programming - Steve Oualline
2
Ⅶ. Course Schedule
(* Subject to change)
Learning Objectives Understand the concept and usage of Pointers.
Topics (Lecture) Concepts of pointers, Pointer variables, Accessing
variables through pointers, Pointer declaration and definition
Class Work
Lecture
Week (Methods)
1
Materials
Lecture Notes, Main/Sub Textbook
(Required Readings)
Assignments
Learning Objectives Learn Pointers and Pointer applications
(Lecture) Pointers and functions, Pointers to pointer, Compatibility
Topics
(Lecture) Arrays and pointers, Pointer arithmetic and arrays
Week Class Work
Lecture
2 (Methods)
Materials
Lecture Notes, Main/Sub Textbook
(Required Readings)
Assignments
Learning Objectives Learn declaration, definition, and usage of Pointers.
(Practice) Concepts of pointers, Pointer variables, Accessing
Topics variables through pointers, Pointer declaration and definition
(Practice) Pointers and functions, Pointers to pointer, Compatibility
Week
Class Work
3 Practice
(Methods)
Materials
Lecture Notes, Main/Sub Textbook
(Required Readings)
Assignments
Learning Objectives Learn Pointer Array and function argument passing using Pointers.
(Lecture) Passing an array to a function
Topics
(Practice) Arrays and pointers, Pointer arithmetic and arrays
Week Class Work
Lecture/Practice
4 (Methods)
Materials
Lecture Notes, Main/Sub Textbook
(Required Readings)
Assignments
3
Learning Objectives Learn Pointer memory allocation.
(Lecture) Memory allocation functions
Topics
(Practice) Passing an array to a function
Class Work
Week Lecture/Practice
(Methods)
5
Materials
Lecture Notes, Main/Sub Textbook
(Required Readings)
Assignments
Learning Objectives Learn Pointer Array.
(Lecture) Array of pointers, Common mistakes in pointer
Topics applications
(Practice) Memory allocation functions
Week Class Work
Lecture/Practice
(Methods)
6
Materials
Lecture Notes, Main/Sub Textbook
(Required Readings)
Assignments
Learning Objectives Learn C Strings.
(Lecture) String concepts, C strings, String input/output function
Topics (Practice) Array of pointers, Common Mistakes in Pointer
Applications
Week
Class Work
7 Lecture/Practice
(Methods)
Materials
Lecture Notes, Main/Sub Textbook
(Required Readings)
Assignments
Learning Objectives
Topics
Week Class Work
Midterm exam
8 (Methods)
Materials
(Required Readings)
Assignments
Week Learning Objectives Learn String input/output methods to functions.
9
Topics (Lecture) String input/output function, Arrays of strings
4
(Practice) String concepts, C strings, String input/output function
Class Work
Lecture/Practice
(Methods)
Materials
Lecture Notes, Main/Sub Textbook
(Required Readings)
Assignments
Learning Objectives Learn String manipulation functions and memory formatting.
(Lecture) String manipulation function, Memory formatting
Topics
(Practice) String input/output function, Arrays of strings
Week Class Work
Lecture/Practice
10 (Methods)
Materials
Lecture Notes, Main/Sub Textbook
(Required Readings)
Assignments
Learning Objectives Learn type definition, Enumerated types, and Structure.
(Lecture) The type definition, Enumerated types, Structure
Topics
(Practice) String manipulation function, Memory formatting
Week Class Work
Lecture/Practice
11 (Methods)
Materials
Lecture Notes, Main/Sub Textbook
(Required Readings)
Assignments
Learning Objectives Learn Accessing Structures and Complex Structures.
(Lecture) Accessing Structures, Complex Structures
Topics
(Practice) The type definition, Enumerated types, Structure
Week Class Work
Lecture/Practice
12 (Methods)
Materials
Lecture Notes, Main/Sub Textbook
(Required Readings)
Assignments
Learning Objectives Learn array of Structures and Unions.
Week (Lecture) Array of structure, Structures and functions, Unions
Topics
13 (Practice) Accessing structures, Complex structures
Class Work
Lecture/Practice
(Methods)
5
Materials
Lecture Notes, Main/Sub Textbook
(Required Readings)
Assignments
Learning Objectives Learn the concept and usage of Linked Lists.
(Lecture) Linked list structure, Traversing linked lists, Insert a
Topics node, Delete a node
(Practice) Array of structure, Structures and functions, Unions
Week
Class Work
14 Lecture/Practice
(Methods)
Materials
Lecture Notes, Main/Sub Textbook
(Required Readings)
Assignments
Learning Objectives Learn the structure and usage of Linked Lists.
(Practice) Linked list structure, Traversing linked lists
Topics
(Practice) Insert a node, Delete a node
Week Class Work
Practice
15 (Methods)
Materials
Lecture Notes, Main/Sub Textbook
(Required Readings)
Assignments
Learning Objectives
Topics
Week Class Work
Final exam
16 (Methods)
Materials
(Required Readings)
Assignments
Ⅷ. Special Accommodations
6
Ⅸ. Aid for the Challenged Students
Priority in seat assignment, support lecture notes, TA tutoring, extended dues, etc.