Module Syllabus Module Name: Computer Skills (2) for Science Colleges Module Number: 710104 Level: 1 Credit Hours: 3 hours Prerequisite / Co-Requisite: none Lecturer Name: Office Number: Phone: E-mail: Academic Rank Office Hours: Ext: Module Coordinator: Aims: This module aims to introduce the principles of Top Down problem solving strategy (divide and conquer), algorithm design, and imperative programming mainly at an abstract level. Topics include data definition structures, control structures, and primitive data structures. C++ programming language (in visual environment) is adopted as a vehicle language for implementations. Teaching Methods: Duration: 16 weeks in first semester, 48 hours in total Lectures: 26 hours (1-2 hours per week), Tutorials: 6 hours, 1 per 2 weeks, Laboratories: 16 hours (1 per week) Learning Outcomes: A student completing this module should: 1- Be able to understand the fundamental programming constructs. (A, D) 2- Be able to develop algorithms. (A) 3- Be able to understand and write searching and sorting techniques. (A, B) 4- Be able to use API application. (A) 5- Be able to understand the principles of encapsulation. (A) 6- Understand a typical C++ program environment. (C) 7- Be able to write programs C++. (B) 1 of 5 Pages
Contribution to Program Learning Outcomes: A2, B1, B3, C5, D2 Module Outline: Week Subject (1) Problem Solving, Problem Solving Methodology: Analysis, Design (Algorithm), Coding (program), Testing, Maintenance (2) Top Down Algorithm design (Sub algorithm : function), tutorial (3) Data Definition Structures: Types, constants, variables, Expressions: Arithmetic, Logical (4) I/O, Assignment, sequence, Selection (simple), Tutorial (5) Selection (alternated, and multiple), Tutorial, C++ (6) Selection (alternated, and multiple), Tutorial, C++ (7) Repetition (While, do while, for), Tutorial, C++ (lab) (8) First Exam, Repetition (While, do while, for), Tutorial, C++ (9) Parameters definition and passing (function depth look), Record (non uniform set), Tutorial, C++ (10) Parameters definition and passing (function depth look), Record (non uniform set), Tutorial. (11) Array of 1 and 2 dimensions (uniform set), Tutorial, C++ (12) Array of 1 and 2 dimensions (uniform set), Tutorial. (13) Second Exam, String (use of main operations: Concatenate, Left_N_char, Right_N_Char, Include, Compare, ), Tutorial. (14) File (use of main operations of a sequential file: open, reset, rewrite, read, write, eof), Tutorial. (15) File (use of main operations of a sequential file: open, reset, rewrite, read, write, eof), Tutorial. (16) Tutorials, revision, and Practical Exam Modes of Assessment: Modes of Assessment: Score Date First Exam 15% Second Exam 15% Assignment / Seminar / Project / Quizzes / Tutorial 20% Final Exam (Comprehensive; written, verbal, hand-ins, etc.) 50% * Make-up exams will be offered for valid reasons only with consent of the Dean. Make-up exams may be different from regular exams in content and format. 2 of 5 Pages
Attendance Policy: Lecture attendance is mandatory. Student is allowed maximally 15% absentia of the total module hours. More than this percentage, student with an excuse will be drawn from the module. Otherwise, student will be deprived from the module with zero mark assigned. The course notes and the textbook are not comprehensive and additional material will be covered in lectures. You are responsible for all material covered in lectures. Expected Workload On average, you should expect to spend at least (9) hours per week on this module. Practical Submissions The assignments that have work to be assessed will be given to the students in separate documents including the due date and appropriate reading material Feedback Concerns or complaints should be expressed in the first instance to the course lecturer. If no resolution is forthcoming then the issue should be brought to the attention of the course representatives who will take the concerns to the course representative meetings (held in weeks). Thereafter problems are dealt with by the Department Chair and if still unresolved the Dean and then ultimately the Vice President. At the end of the course, the students will fill a course evaluation sheet, evaluating the content of the course, its teaching, the learning, and assessment methods, and lecturer. The monitoring of these students feedback will allows the course quality improvement. Text Book(s) and Supporting Materials: Text book(s): Title: Problem Solving and Program Design in C Author(s)/Editor(s): Jeri R. Hanly and Elliot B. Koffman Publisher: Pearson Education, Inc. ISBN: 0-321-21055-7 In addition to the above, the students will be provided with handouts by the lecturer. References: Students will be expected to give the same attention to these references as given to the Module textbook(s) 1. Friedman Frank and Koffman Elliot B., "Problem Solving, Abstraction and Design using C++", Addison Wesley, Fourth Edition. 2. Deitel & Deitel, C++ How to Program, Prentice-Hall, 2000. 3. A. Lambert Kenneth and Nance Douglas W., "Understanding Programming and Problem Solving With C++", PWS Publishing Compny, Fourth Edition. 3 of 5 Pages
3- Neil Graham, "Learning C++", McGraw-Hill, 1991. 4- Bruce Eckel, "Thinking in C++", Second Edition, Prentice Hall, 2000. 5- Herbert Schildt, "Teach Yourself C++", Third Edition, McGraw-Hill. 6- N. Dale, C. Weems and M. Headington, "Programming and Problem Solving with C++", (2nd edition) 7- Programming Logic and Design (2 nd ed; 2002), Course Technology, ISBN 0-619-06315-7 8- Forouzan, B. A. & R. F. Gilberg. "Computer Science: A Structured Programming Approach using C", Second Edition, Pacific Grove, CA: Brooks/Cole, 2001 Website(s): www.cee.hw.zc.uk/~pjbk/pathways/cpp1/cpp1.html www.edm2.com/0507/introcpp1.html www.doc.ic.ac.uk/~wjk/c++intro www.cprogramming.com/tutorial.html www.cs.umd.edu/users/cml/cstyle/ellemtel-rules.html www.deakin.edu.au/~agoodman/ctutorial.html www.tldp.org/howto/c++programming.howto.html www.vb-bookmark.com/cpptutorial.html DOCUMENTATION FOR PROGRAMS: (All programming assignments must include at least the following comment lines) /*TASK: Identify what the program will accomplish */ /*WRITTEN BY: */ /*DATE: List creation & modification dates */ /*VARIABLES: List and give what each represents */ /*INPUT: Identify the input parameters: Give examples */ /*OUTPUT: Identify the expected output: Give examples */ /*ALGORITHM: Briefly describe the algorithm used*/ #include <stdio.h> main ( ) { } (If your program includes any function modules, each function needs to be documented) /*TASK: Identify what the subprogram accomplishes */ /*DATE: List creation and modification dates */ /*WRITTEN BY: */ 4 of 5 Pages
/*VARIABLES: List names and what each represents */ /*INPUT: Identify the input parameters, if any. Give examples */ /*OUTPUT: Identify the output. Give examples */ /*ALGORITHM: Briefly describe the algorithm used */ int function1( ) { } 5 of 5 Pages