T. C. MALTEPE UNIVERSITY FACULTY OF ENGINEERING COMPUTER ENGINEERING DEPARTMENT LICENCE PROGRAM 2010-11 Fall Semester ALGORITHMS AND PROGRAMMING CEN 133 6 ECTS Credits 1 st year 1 st semester Undergraduate Compulsory 4 hrs/week 3 credits Lectures:2 hrs/week Labs: 2 hrs/week Contact: Okan VARDARLI Phone: 0216 6261050 / 2634 e-mail: okanvardarli@maltepe.edu.tr English Office Hours: Monday: 11:00-12:00, Tuesday: 11:00-12:00, Wednesday: 10:00-12:00, Friday: 10:00-12:00 Objectives of the Course The course introduces the fundamental concepts of procedural programming. Emphasis is on data types, control structures, functions, arrays, and the mechanics of running, testing, and debugging computer programs. The course starts with an overview of computer systems and surveys main concepts of the computing as a discipline. Learning Outcomes and Subskills Students are expected to, Recognize the primary components of computing systems, understand their functions, and categorize various services offered by these platforms, Understand problem analysis and solving process Experiment with fundamental constructs of the programming language Develop, test, and debug small to medium size programs General Competencies Being able to analyze and solve elementary problems. Teaching Methods and Techniques: Lecture, question and answer, writing programs at the lab. Assessment Method: New Regulations: (Students registered after 26.8.2009) Midterm : %40 (%20 Midterm1+%20 Midterm1) + %20 Quizzes & Labs %60 Final: %40 %40 Grade: %100 Old Regulations: (Students registered prior to 26.8.2009) Midterm: %40 (%20 Midterm1+%20 Midterm1) %40 Final: %40 + %20 Quizzes & Labs %60 Grade: %100 Page 1
Prerequisite. Textbooks/Recommended Readings: 1. Problem Solving with C++, Walter Savitch, ISBN: 0-321-53134-5, Pearson (7th edition). 2. Algoritma Geliştirme ve Programlamaya Giriş, Fahri VATANSEVER, ISBN: 9789750210488, Seçkin Yayıncılık (2009). 3. Nesneye Yönelik Programlama: C++ ile Programlama, Dr. Yalçın ÖZKAN, ISBN: 6051061016, Alfa Yayıncılık (Mayıs 2009). 4. C++ Programming (3rd ed, Thomson), D. S. MALIK, 4. baskı, ISBN-10: 0619035692, ISBN-13: 978-0619035693, Course Technology (April 11, 2002). Course Plan Week Week 1 Week 2 Week 3 Lectures Introduction 1.1 Computer Systems Hardware (main components) Software (simple view of running a program) High Level Languages, Compilers Fahri Vatansever s book Algorithm samples (slide 15-26) Fahri Vatansever s book Algorithm samples (slide 26-end) Algorithm exercise. Week 4 QUIZ 1 1.2 Programming and Problem Solving Algorithms Program Design Object Oriented Programming The Software Life Cycle 1.3 Introduction to C++ Origins of the C++ A Sample C++ Program 1.4 Testing And Debugging Week 5 2. C++ Basics 2.1 Variables and Assignments Machine level representation of data (bits, bytes, numeric representation of data and alpha numeric data) 2.2 Input and Output (cout, cin, Include Directives and Namespaces, Formatting for Numbers with a Decimal Point) Week 6 QUIZ 2 2. C++ Basics (cont.) Page 2
2.3 Data Types (int and double; char; bool; string); Type Compatibilities Arithmetic Operators and Expressions 2.4 Simple Flow Of Control (if - else) Comparison Operators 2.5 Program Style Week 7 3. More Flow of Control 3.1 Using Boolean Expressions Enumeration Types 3.2 Multiway Branches Multiway if-else Statements The Switch Statements Break and continue statements 3.3 Flow Control Mechanisms (More about C++ loop statements) While loop and do while loops For loop Increment and Decrement Operators Infinite loops 3.4 Designing Loops Week 8 QUIZ 3 4. Functions 4.1 Top-down design 4.2 Predefined Functions Type Casting Week 9 MIDTERM 1 4. Functions (cont.) 4.3 Programmer Defined Functions 4.4 Procedural Abstraction 4.5 Local Variables Global Variables and Constants namespace concepts Week 10 5. Functions for All Subtasks 5.1 void functions Definition of void functions Return Statements in void functions 5.2 Call by reference Parameters Mixed Parameter Lists Page 3
EVALUATION SYSTEM SEMESTER REQUIREMENTS PERCENTAGE NUMBER OF GRADE Attendance 0 Laboratuary 10 2% each, total 20% Application Field Work If any, Special Course Internship Homework Assignments Presentations Project Seminer Mid-Terms 2 20%each, total 40% Final 1 40% PERCENTAGE OF SEMESTER WORK TOTAL 100% New Regulations: (Students registered after 26.8.2009) Includes midterms+laboratory Old Regulations: (Students registered prior to 26.8.2009) Midterms only %60 %40 PERCENTAGE OF FİNAL GRADE New Regulations: (Students registered after 26.8.2009) Final only Old Regulations: (Students registered prior to 26.8.2009) Includes final+laboratory %40 %60 TOTAL 100% Page 4
COURSE-PROGRAM OUTCOMES RELATION Program Outcomes Completely Partly 1 2 3 4 5 An ability to apply knowledge of mathematics, science and engineering to the computer engineering problems. An ability to define and resolve the possible problems in the development and testing of computer systems using appropriate methods and models. An ability to design, implement, and evaluate a computerbased system, process, component, or program to meet desired needs. An ability to use current techniques, software, and tools necessary for computing practice. An ability to design and implement an experiment, to collect data, to analyze and interpret the results. 6 7 8 An ability to function effectively on teams and interdisciplinary work groups. An ability to communicate effectively in both written and verbal communications. Following the capability of technological innovations and lifelong learning awareness. 9 Awareness of professional and ethical responsibilities. 10 Awareness of work-life applications. 11 An ability to understand the effects of the local and global impact of engineering applications. Page 5
ECTS-WORKLOAD TABLE Activities Number Duration (hours) Total Workload Course hours 14 2 28 Laboratory 10 2 20 Application If any, Special Course Internship Field Work Study hours- out of class 14 4 56 Preparations for Presentations/ Seminars Project Homework Assignments 5 2 10 Mid-Terms 2 2 4 Final 1 2 2 Total workload 41 10 120 14 weeks x 45 hrs (weekly self study) =630 hrs (hrs to be studied during a semester) In a semester 30 ECTS credits must be taken 1ECTS=630/30=21 hrs ECTS credit: 120/20=5,71 ~ 6 credits Page 6