CEC225 COURSE COMPACT



Similar documents
KITES TECHNOLOGY COURSE MODULE (C, C++, DS)

How To Teach C++ Data Structure Programming

Curriculum Map. Discipline: Computer Science Course: C++

El Dorado Union High School District Educational Services

Department of Electrical and Computer Engineering. EEL 3160 Embedded C++ and Data Structures. Tuesday & Thursday 3:00 5:00 pm

FLORIDA STATE COLLEGE AT JACKSONVILLE COLLEGE CREDIT COURSE OUTLINE. Introduction to Programming with Visual Basic.NET

Object Oriented Programming With C++(10CS36) Question Bank. UNIT 1: Introduction to C++

Syllabus for CS 134 Java Programming

COMMUNITY COLLEGE OF CITY UNIVERSITY CITY UNIVERSITY OF HONG KONG

CSCI 253. Object Oriented Programming (OOP) Overview. George Blankenship 1. Object Oriented Design: Java Review OOP George Blankenship.

RARITAN VALLEY COMMUNITY COLLEGE ACADEMIC COURSE OUTLINE. CISY 105 Foundations of Computer Science

BCS2B02: OOP Concepts and Data Structures Using C++

WORKSPACE WEB DEVELOPMENT & OUTSOURCING TRAINING CENTER

Course Name: ADVANCE COURSE IN SOFTWARE DEVELOPMENT (Specialization:.Net Technologies)

Multichoice Quetions 1. Atributes a. are listed in the second part of the class box b. its time is preceded by a colon. c. its default value is

C++ Programming Language

GEC320 COURSE COMPACT. Four hours per week for 15 weeks (60 hours)

Glossary of Object Oriented Terms

Java (12 Weeks) Introduction to Java Programming Language

PART-A Questions. 2. How does an enumerated statement differ from a typedef statement?

ADVANCED SCHOOL OF SYSTEMS AND DATA STUDIES (ASSDAS) PROGRAM: CTech in Computer Science

Course Title: Software Development

BCS Higher Education Qualifications. Professional Graduate Diploma in IT. Programming Paradigms Syllabus

Fundamentals of Java Programming

Object Oriented Software Design II

An Internet Course in Software Development with C++ for Engineering Students

Course MS10975A Introduction to Programming. Length: 5 Days

Introduction to Programming

NEW YORK CITY COLLEGE OF TECHNOLOGY/CUNY Computer Systems Technology Department

CS A250 (CRN ) C++ Programming Language 2. Syllabus Fall 2015

The C Programming Language course syllabus associate level

C++ INTERVIEW QUESTIONS

Syllabus Introduction to C++ Programming and Numerical Analysis Spring 2016

Advanced Data Structures

PROBLEM SOLVING SEVENTH EDITION WALTER SAVITCH UNIVERSITY OF CALIFORNIA, SAN DIEGO CONTRIBUTOR KENRICK MOCK UNIVERSITY OF ALASKA, ANCHORAGE PEARSON

CompuScholar, Inc. Alignment to Utah's Computer Programming II Standards

Java Application Developer Certificate Program Competencies

CMSC Fundamentals of Computer Programming II (C++)

ALLIED PAPER : DISCRETE MATHEMATICS (for B.Sc. Computer Technology & B.Sc. Multimedia and Web Technology)

Monfort College of Business Semester Course Syllabus ( )

Introduction to Programming Block Tutorial C/C++

Bachelor of Games and Virtual Worlds (Programming) Subject and Course Summaries

Programming with the Microsoft.NET Framework Using Microsoft Visual Studio 2005 (VB)

Chapter 1 Fundamentals of Java Programming

Object-Oriented Software Specification in Programming Language Design and Implementation

B.Sc. (Computer Science) First Year

Objectif. Participant. Prérequis. Remarque. Programme. C# 3.0 Programming in the.net Framework. 1. Introduction to the.

Evolution of the Major Programming Languages

City University of Hong Kong Course Syllabus. offered by Department of Computer Science with effect from Semester A 2015/16

The Separation of Interface and Implementation in C++

Online Course Syllabus CS320: C Programming

OKLAHOMA SUBJECT AREA TESTS (OSAT )

Polymorphism. Problems with switch statement. Solution - use virtual functions (polymorphism) Polymorphism

Skills for Employment Investment Project (SEIP)

6.088 Intro to C/C++ Day 4: Object-oriented programming in C++ Eunsuk Kang and Jean Yang

COURSE SYLLABUS EDG 6931: Designing Integrated Media Environments 2 Educational Technology Program University of Florida

Compiling Object Oriented Languages. What is an Object-Oriented Programming Language? Implementation: Dynamic Binding

Frequently Asked Questions

BCS Higher Education Qualifications. Software Development Syllabus

UNDERGRADUATE COMPUTER SCIENCE EDUCATION: A NEW CURRICULUM PHILOSOPHY & OVERVIEW

NATIONAL CERTIFICATES (VOCATIONAL)

Delphi Developer Certification Exam Study Guide

CSE 307: Principles of Programming Languages

A LOOK BACK: UNDERGRADUATE COMPUTER SCIENCE EDUCATION: A NEW CURRICULUM PHILOSOPHY & OVERVIEW

Sample Syllabus (C++) CSCI 1301 Introduction to Programming Principles

OpenCL Static C++ Kernel Language Extension

CSCI 528: OBJECT ORIENTED PROGRAMMING, Fall 2015

MSc Information Technology - E521

Storage Classes CS 110B - Rule Storage Classes Page 18-1 \handouts\storclas

CIS 190: C/C++ Programming. Polymorphism

RARITAN VALLEY COMMUNITY COLLEGE ACADEMIC COURSE OUTLINE CISY 233 INTRODUCTION TO PHP

Object Oriented Design

Konzepte objektorientierter Programmierung

DEPARTMENT OF INFORMATION SCIENCE. INFO221 Application Software Development COURSE OUTLINE

The Elective Part of the NSS ICT Curriculum D. Software Development

Introduction to Object-Oriented Programming

Ch 7-1. Object-Oriented Programming and Classes

An Incomplete C++ Primer. University of Wyoming MA 5310

CENTRAL TEXAS COLLEGE ITSE 2459 ADVANCED COMPUTER PROGRAMMING C# Semester Hours Credit: 4 INSTRUCTOR: OFFICE HOURS:

Laboratory Assignments of OBJECT ORIENTED METHODOLOGY & PROGRAMMING (USING C++) [IT 553]

13 Classes & Objects with Constructors/Destructors

BMI 540: Computer Science with Java Programming Oregon Health & Science University

Java SE 8 Programming

COURSE TITLE. Computer Programming 1 LENGTH. One Semester Grades 9-12 DEPARTMENT. Computer Department Barbara O Donnell, Supervisor SCHOOL

An Introduction to Programming and Computer Science

COURSE OUTLINE. Prerequisites: Course Description:

Course Objectives Course Requirements Methods of Grading S/N Type of Grading Score (%) Course Delivery Strategies Practical Schedule LECTURE CONTENT

THE OPEN UNIVERSITY OF TANZANIA

The Java Series. Java Essentials I What is Java? Basic Language Constructs. Java Essentials I. What is Java?. Basic Language Constructs Slide 1

COMPARISON OF OBJECT-ORIENTED AND PROCEDURE-BASED COMPUTER LANGUAGES: CASE STUDY OF C++ PROGRAMMING

CS 261 C and Assembly Language Programming. Course Syllabus

TOWARDS A GREEN PROGRAMMING PARADIGM FOR MOBILE SOFTWARE DEVELOPMENT

Computing Concepts with Java Essentials

Course Outline (Undergraduate):

Transcription:

CEC225 COURSE COMPACT Course GEC 225 Applied Computer Programming II(2 Units) Compulsory Course Duration Two hours per week for 15 weeks (30 hours) Lecturer Data Name of the lecturer: Dr. Oyelami Olufemi Moses Qualifications obtained: Ph.D. Department: Physical Sciences Faculty: CSE E-mail: oyelami.olufemi@lmu.edu.ng Office Location: Lecture Theatre ( New College Building) Consultation Hours: Wednesday (4-6pm) Course Content: Comparison of procedure oriented, structure oriented, event-driven, and object oriented programming paradigms, fundamental of object oriented design, features of object oriented programming. Windows programming. C++ Fundamentals: Keywords, data types, standard I/O streams, function prototypes, C++ enhancements over C, default function parameters, inline functions, overloaded functions, reference variables comparison between pointers and references. Classes: Creating new data type in C++, class declaration, members, constructors and destructors, access functions constant objects, member objects, static members, friend classes, arrays of class objects. Dynamic Memory Allocation: New and delete operators, class with pointer members, this pointer assignment, initialization, copy constructor, passing and returning objects, advanced free store techniques, exception handling. Inheritance and Polymorphism: Operator overloading, handling related types in C++, derived class, conversion between base and derived classes, virtual functions, dynamic binding, pure virtual functions, protected members, public and private base classes, new, delete operators overloading, inheritance applications. Advanced C++ Concepts and Applications: File handling, templates, container classes, class library, stack, queue and linked list applications, simple database applications. Course : This is a programming course that teaches C++ programming language and program development using C++. Although C++ is a multi-paradigm language much attention will be devoted to object oriented style of programming. Consequently object oriented concepts such as data abstraction, encapsulation, information hiding, object and object type, composition of objects through aggregation, inheritance and polymorphism and how they are implemented in C++, will be discussed. The ANSI standard version

of C++ is considered here. The scope of discussion is limited to that specified in the course content above. Some area not covered may however be given as assignment to students to explore. Course Justification Illustration below: Although there are many high level languages none of them is yet to match C/C++ in the speed of execution. So C/C++ becomes the language of choice where time is critical. Its accommodation of low level code makes it a good candidate for developing system software (i.e operating system, device driver and other program meant for controlling system). One other feature of C/C++ language that makes it prominent in the programming environment is its flexibility. C++ allows you to have total control over your programming environment to do what you want to do the way you may want it. C++ has object-oriented features (as opposed to C-language) which make it useful for producing re-useable code and highly modular programs. Moreover it is multi-paradiganguage which makes it accommodate programming in many different styles. Course objectives At the end of this course, students are expected to be able: differentiate between procedure-, structured- and event-driven, and object- oriented programming paradigms; apply the fundamental concepts of C++ programming in developing applications; program in C++ using the concepts of classes and objects; implement the features of object-oriented programming which include inheritance and polymorphism; use the Standard Template Library (STL) to write programs using abstract data types (ADTs); and apply the knowledge gained from this course in solving real life problems. Course Requirement: To derive maximum benefits from the course and for fast grasping of many of the C++ concepts, the course requires that the students be familiar with C- programming language. The reason for this is because C++ descends from C (i.e extends or enhances C language) and so adopts many of the syntax of C language. However, the course is structured to accommodate to some extent, students that do not fall into this category. Being a programming course, the course requires that each student for the course has a computer system with C++ compiler installed in it and should be ready to undertake practical work in the laboratory. Failure to attend the practical classes could result into student failing the course.

Method of Grading S/N Grading Score (%) 1. Test 20 2. Assignment/Practical Work 10 3. Final Examination 70 Total 100 Course Delivery Strategies Lecturing method complimented with laboratory work will be adopted. In the laboratory, working programs will be demonstrated through execution and explaination. Students will be given programming projects as excersices a group and individual projects. Week 1: Introduction to C++ LECTURE CONTENT Compare object-oriented programming with other paradigms Explain the features of object-oriented programming Comparison of procedure-oriented, structure-oriented, event-driven, and objectoriented programming paradigms, Fundamental of object oriented design. Features of object-oriented programming. Week 2-4: C++ Fundamentals Explain the fundamentals of C++ programming in terms of data types, keywords, C++ enhancements over C, how to declare variables, functions and parameter passing in functions. They should also be able to compare reference and pointer variables. Keywords, data types, standard I/O streams, function prototypes, C++ enhancements over C, default function parameters, inline functions, overloaded functions, reference variables, comparison between pointers and references.

Weeks 5-6: Classes Create new data types using classes. Create objects of classes they create Use constructors and destructors in their defined classes. Make functions and classes friends of other classes Create arrays of objects Creating new data type in C++, class declaration, members, constructors and destructors, access functions constant objects, member objects, static members, friend classes, arrays of class objects. Weeks 7-8: Dynamic Memory Allocation Create memories dynamically using the new operator Define copy constructors for assigning an object to another Return an object used to invoke a method Write programs that handle cases of unusual happenings new and delete operators, class with pointer members, this pointer assignment, initialization, copy constructor, passing and returning objects, advanced free store techniques, exception handling. Week 9: Mid-Semester Examination Week 10-11: Inheritance and Polymorphism Reuse code through inheritance Redefine operators in a bid to overload them

Operator overloading, handling related types in C++, derived class, conversion between base and derived classes, virtual functions, dynamic binding, pure virtual functions, protected members, public and private base classes, new, delete operators overloading, inheritance applications. Week 12-13: Advanced C++ Concepts and Application Write applications that make use of files and simple databases Apply the concepts learnt so far to write applications that use abstract data types like queue, stack and list. File handling templates, container classes, class library, stack, queue and linked list applications, simple database applications. Week 14: Revision Week 15: Omega Semester Examination Reading List: i. C++ Primer Plus by Stephen Prata (2005). ii. C++ Language Tutorial by Juan Soulié iii. C++ Primer by Stanley B. Lippman, Josee Lajoie and Barbara E. Moo (2005). Addison-Wesley. iv. C++ How To Program by H.M. Deitel and P.J. Deitel (2001). Prentice Hall. v. The C++ Standard Library (A Tutorial and Reference) by Nicola M. Josuttis (1999). Addison-Wesley. vi. First Course in C++ (A Gentle Introduction) by Mark Harman and Ray Jones (1997). McGraw-Hill. vii. C++ Programming Made Simple by Conor Sexton (2003). MADE SIMPLE BOOKS. viii. C++ for Programmers by Leen Ammeraal (2001). John Wiley & Sons Ltd.