Identification Prerequisites Language Compulsory/Elective Required textbooks and course materials Subject CMS 204 - C Programming Language – 4 credits Computer Science Department Undergraduate Program Spring, 2015 Term Rashad Khaligov Instructor E-mail: rkhaliqov@khazar.org Classroom/hours 11 Mehseti str. (Neftchilar campus), Room #401N CMS 106 Fundamentals of Computer Programming English Required Core textbook: 1. C: How to Program 7th Edition by Paul Deitel (2012) 2. The C Programming Language by A. K. Goyal (2007) Supplementary textbook: C Programming: A Modern Approach, 2nd Edition by K. N. King (2008) Course outline This is a computer science course that introduces the structured problem solving paradigm using C Programming language. The course will focus on programming correctly in C by teaching structured programming techniques, and proper program design. Students will design, write, compile, execute and debug C programs throughout the course. Hands-on programming will be a key part of the course. Course objectives Objective of the Course: Learning outcomes By the end of the course the students should be able: Teaching methods Evaluation Understanding Structured approach for software development. Use the techniques of Structured System Analysis and Design. Introduce a disciplined approach to problem solving methods and algorithm development. Learn the basics of the C Programming language Learn program design, coding, debugging, testing, and documentation. Learn the concepts of Modular Programming and Abstract Data Types. To design and develop C program To solve various problems using C programming language To use the concepts of Modular Programming and Abstract Data Types Lecture Group discussion Experiential exercise Simulation Case analysis Course paper Others Methods Midterm Exam Case studies Class Participation x x x x Date/deadlines Percentage (%) 30 10 Policy Assignment and quizzes Project Presentation/Group Discussion Final Exam Others Total Preparation for class 20 40 100 The structure of this course makes your individual study and preparation outside the class extremely important. The lecture material will focus on the major points introduced in the text. Reading the assigned chapters and having some familiarity with them before class will greatly assist your understanding of the lecture. After the lecture, you should study your notes and work relevant problems and cases from the end of the chapter and sample exam questions. Throughout the semester we will also have a large number of review sessions. These review sessions will take place during the regularly scheduled class periods. Withdrawal (pass/fail) This course strictly follows grading policy of the Khazar University. Thus, a student is normally expected to achieve a mark of at least 60% to pass. In case of failure, he/she will be required to repeat the course the following term or year. Cheating/plagiarism Cheating or other plagiarism during the Quizzes, Mid-term and Final Examinations will lead to paper cancellation. In this case, the student will automatically get zero (0), without any considerations. Professional behavior guidelines The students shall behave in the way to create favorable academic and professional environment during the class hours. Unauthorized discussions and unethical behavior are strictly prohibited. Tentative Schedule Date/Day Weeks Topics Textbook/Assignments (tentative) 1 26.01.2015 Introduction to C Programming 2 02.02.2015 Structured Program Development in C: Fundamental Data Types 3 02.02.2015 Structured Program Development in C: C Expressions C Program Control Constructs: If…else and while statements 09.02.2015 4 16.02.2015 5 C Program Control Constructs: For and do while loops 23.02.2015 6 C Functions: Parameter passing by value 02.03.2015 7 C Functions: Parameter passing by reference Chapter 1,2 in core textbook 1 Chapter 1 in core textbook 2 Chapter 1in supplementary textbook Chapter 3 in core textbook 1 Chapter 2 in core textbook 2 Chapter 2 in supplementary textbook Chapter 3 in core textbook 1 Chapter 3 in core textbook 2 Chapter 5 in supplementary textbook Chapter 4 in core textbook 1 Chapter 4 in core textbook 2 Chapter 5 in supplementary textbook Chapter 4 in core textbook 1 Chapter 5 in core textbook 2 Chapter 4 in supplementary textbook Chapter 5 in core textbook 1 Chapter 6 in core textbook 2 Chapter 5 in supplementary textbook Chapter 5 in core textbook 1 Chapter 7 in core textbook 2 Chapter 7 in supplementary textbook 09.03.2015 8 Midterm Exam 16.03.2015 9 C Arrays Data Type: One Dimensional Arrays 23.03.2015 10 C Arrays Data Type: Two Dimensional Arrays 30.03.2015 11 C Pointers and indirect referencing 12 06.04.2015 C Characters and Strings 13 13.04.2015 C Structure Data Type Chapter 6 in core textbook 1 Chapter 7 in core textbook 2 Chapters 6 and 7 in supplementary textbook Chapter 6 in core textbook 1 Chapter 8 in core textbook 2 Chapter 7 and 8 in supplementary textbook Chapter 7 in core textbook 1 Chapter 9 in core textbook 2 Chapter 11 in supplementary textbook Chapter 8 in core textbook 1 Chapter 11 in core textbook 2 Chapter 9 in supplementary textbook Chapter 9 in core textbook 1 Chapter 10 in supplementary textbook 14 20.04.2015 Applications of C Structure data types 15 27.04.2015 C File Processing 16 04.05.2015 Final Exam Chapter 10 in core textbook 1 Chapter 10 in supplementary textbook Chapter 11 in core textbook 1 Chapter 11 in supplementary textbook This syllabus is a guide for the course and any modifications to it will be announced in advance.