PROFORMA KURSUS PUSAT PENGAJIAN SAINS KOMPUTER FAKULTI TEKNOLOGI DAN SAINS MAKLUMAT UNIVERSITI KEBANGSAAN MALAYSIA Pusat Pengajian Sains Komputer School of Computer Science TTTK1914 Pengaturcaraan C I/ C Programming I SEMESTER 1 SESI 2011/2012 Prasyarat/Pre-requisites: Tiada/ None 1
Lecture: Instructors Office Group Venue Hours Dr. Mohd Rosmadi Mokhtar mrm@ftsm.ukm.my Dr. Zulkarnain Md Ali zma@ftsm.ukm.my G-3-28 E-3-28 PPSK 2 & 4 DK1 Monday Dr. Raed Ali raed.saqour@ftsm.ukm.my Dr. Ravie Chandren ravie@ftsm.ukm.my G-3-33 E-4-48 03-8921 6715 PPTM 1 & 3 DK1 Monday 9-11am Tutorial: Instructors Office Group Venue Hours Dr. Mohd Rosmadi Mokhtar mrm@ftsm.ukm.my Dr. Raed Ali raed.saqour@ftsm.ukm.my Dr. Salwani Abdullah salwani@ftsm.ukm.my Marini Abu Bakar marini@ftsm.ukm.my Rodziah Latih rodziah@ftsm.ukm.my Dr. Ravie Chandren ravie@ftsm.ukm.my Dr. Zulkarnain Md Ali zma@ftsm.ukm.my G-3-28 G-3-33 Pej KJ TK 03-89216181 H-1-8 E-4-38 E-4-48 03-8921 6715 E-3-28 4 (TSa) BK1 2 (TK-int) BK6 2 (TRb) 2 (TKb) 4 (TSb) 2 (TKa) 3 (TRc) 2 (TKc) BK3 BK1 BK4 BK1 BK2 BK2 3 (TRa) BK1 1 (THb) 1(THa) 2 (TKd) BK8 BK3 BK5 Wednesday Thursday 10-12pm 9-11am Wed Tue 9-10am Tuesday 9-11 Tue 4-6pm Wed 10-12pm Lab: Demonstrators Office Group Lab Hours TO BE CONFIRMED 2
1.0 Learning Outcomes Di akhir kursus ini pelajar dijangkakan akan dapat: 1. Membangun, mengkompil dan melaksana aturcara ringkas dalam persekitaran Linux. 2. Mengenalpasti dan membetulkan kesilapan sintak dan logik bagi suatu aturcara. 3. Menggunakan elemen asas aturcara dalam menyelesaikan masalah yang diberi. 4. Membangun satu aturcara untuk menyelesaikan masalah asas; carian, analisa berstatistik ringkas (mencari jumlah, purata, maksimum, minimum), masalah asas matematik (faktorial, nombor perdana), dan sebagainya. 5. Membangun satu aturcara bagi menyelesaikan masalah sebenar. 2.0 Sinopsis/Synopsis Kursus ini adalah pengenalan pertama kepada pengaturcaraan. Kursus ini dilaksanakan dalam persekitaran kuliah dan makmal yang membolehkan pelajar menjadi pengaturcara yang baik. Pelajar yang mengambil kursus ini tidak semestinya mempunyai latar belakang pengaturcaraan komputer, oleh itu pengenalan kepada komputer dan bahasa pengaturcaraan akan diberikan. Pelantar Linux digunakan semasa pembangunan aturcara. Sebahagian besar kursus meliputi elemen penting dalam bahagian berstruktur bahasa berkenaan. Tajuk perbincangan meliputi elemen asas C (C++), input dan output, struktur kawalan, fungsi takrifan pengguna, tatasusunan, rentetan dan rekod. Tambahan daripada itu, teknik bagi menyelesaikan masalah asas juga akan dibincangkan. This course is intended as a first introduction to programming. The course is conducted in such a way that it provides a classroom and laboratory environment that enables students to become proficient C (or C++) programmers. Students are not assumed to have a background in computer programming and therefore introductory material on computers, and programming languages are presented. Linux platform will be used for the program development. The majority of the course will be covering on the essentials of the structured part of the language. Topics include the basic elements of C (or C++), input and output, control structures, user defined functions, arrays, strings and records. In addition, techniques to solve basic problems will also be discussed. 3.0 References 3.1 Main Reference - D. S. Malik. 2011. C++ Programming: Program Design Including Data Structures. 5 th ed. Thomson Course Technology. ISBN-10: 0538798092 ISBN-13: 9780538798099 3.2 Other References - Tony Gaddis, Judy Walters, and Godfrey Muganda. 2008. Starting Out with C++: Early Objects. 6/E. Addison-Wesley - Daniel Liang. 2007. Introduction to Programming with C++. Pearson International. - Gary Bronson. 2006. C++ for Engineers and Scientists. Thomson Course Technology. - Dietel & Dietel. 2007. C++ How to Program. 6th ed. Prentice Hall. 3
3.3 Website References: 1. http://www.cplusplus.com/ 2. http://www.learncpp.com/ 3. http://www.exforsys.com/tutorials/c-plus-plus.html 4.0 Course Outlines Week Monday Holidays Code Topics Chapter Readings Lab Tutorial Code Topics Code Topics Lec 1 - An Overview of computers and 1 12/9 programming languages - Basic Elements of C++ Ch 1, 2 - - - - 2 19/9 16/9 Lec 2 - Basic Elements of C++ (cont) Ch 2, 3 Lab1 - Introduction to Linux T1 - Basic elements of C++ - Input/ Output and g++ 3 26/9 Lec 3 - Control Structures I (Selection) Ch 4 Lab2 - Basic elements &I/O T2 - Basic elements &I/O 4 3/10 Lec 4 - Control Structures II Ch 5 Lab3 - Control Structures I T3 - Control Structures I (Repetition) 5 10/10 Lec 5 - Algorithms & Problem Solving Ch 1& Lab4 - Control Structures II T4 - Control Structures II Handout 6 17/10 Lec 6 - User-Defined Functions I Ch 6 Lab5 Lab Test 1 T5 Algo& Problem Solving 7 24/10 26/10 Lec 7 - User-Defined Functions II Ch 7 Lab6 - Functions I T6 - Functions I 8 31/10 Lec 8 - Arrays I Ch 9 Lab7 - Functions II T7 - Functions II Semester Break & Hari Raya Aidil Adha (5 13/11/2011) 9 14/11 Lec 9 - Arrays II Ch 9 Lab8 - Arrays I T8 - Arrays I 10 21/11 27/11 Lec 10 - Strings, string Type Ch 8, 9 Lab9 - Arrays II T9 - Arrays II 11 28/11 Lec 11 - Enumeration Type, typedef, Ch 3, 8 Lab10 - Strings T10 - Strings Namespace. - File I/O 12 5/12 Lec 12 - Records (Structs) I Ch 10 Lab11 - File I/O T11 - File I/O 13 12/12 Lec 13 - Records (Structs) II Ch 13 Lab12 - Records (Structs) T12 - Records (Structs) 14 19/12 Lec 14 Revision All topics - Lab Test 2 - Revision 15 26/12 Study Week & Christmas Celebration (24/12/2011 2/01/2012) Final Exam (3-20/01/2012) 4
5.0 Implementations 1. Lecture is 2 hours per week. 2. Tutorial is 2 hours per week. 3. Lab session is 2 hours per week. 6.0 Evaluations Item Percentage Lab Evaluation 10 % Tutorial/ Quiz 10 % Lab Test 1 15 % Lab Test 2 15 % Final Examination 50 % Total 100% 7.0 Linux account All students are requested to obtain user account at Linux server from staff in charge (Pn. Azziyati, Lab Linux). If you have any questions about the course or need assistance, please contact your instructor in person or by telephone during office hours; or by e-mail at any time. 8.0 Lecture Materials 1. Lecture slides can be obtained and downloaded from UKM elearning Portal (SPIN) http://www.spin.ukm.my 2. Students are required to obtain the text book ( C++ Programming: Program Design Including Data Structures by D.S. Malik) from the School of Computer Science office or other book stores. 5