1 / 15

CSCE 110 PROGRAMMING FUNDAMENTALS WITH C++

CSCE 110 PROGRAMMING FUNDAMENTALS WITH C++. Prof. Amr Goneid AUC Part 0. Course Outline. Course Resources. Instructor: Prof. Amr Goneid E-mail: goneid@aucegypt.edu Office: Rm 2152 SSE

haamid
Download Presentation

CSCE 110 PROGRAMMING FUNDAMENTALS WITH C++

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. CSCE 110PROGRAMMING FUNDAMENTALSWITH C++ Prof. Amr Goneid AUC Part 0. Course Outline Prof. Amr Goneid, AUC

  2. Course Resources • Instructor: Prof. Amr Goneid • E-mail: goneid@aucegypt.edu • Office: Rm 2152 SSE • Textbook: "Problem Solving, Abstraction, and Design using C++" by Friedman and Koffman, Fourth Edition, Addison Wesley, 2004. • Reference: Microsoft Visual C++ Documentation • Lab: To be Assigned • Compiler: Microsoft Visual C++ 6.0 • Web Site: www.cse.aucegypt.edu/~csci110/ Prof. Amr Goneid, AUC

  3. Course Goals • To introduce problem solving and structured program design in the process of Software Development. • To stress the use of modular programming in solving problems of varying complexity. • To gain a starting experience in developing Abstract Data Types (ADT’s). • To gain a starting experience in Object Oriented Programming as an efficient software development methodology. Prof. Amr Goneid, AUC

  4. Course Contents • Introductory Material (mainly revision of CSCI 106 material) • Problem Solving, S/W Design, Algorithms and Structured Programming • Overview of C++ language • Sequential constructs, selection constructs • Repetition Constructs • Functions, parameter passing • Simple Data Types, User Defined data types • 1-D & 2-D Arrays Prof. Amr Goneid, AUC

  5. Course Contents(continued) • Strings • Characters & their Operations • The String Class: String Objects • Declaration • Input and Output • Member Functions: Length & Indexing • Copying , Concatenation & Comparison • Other Member Functions • Passing String Objects • Arrays of Strings • Conversions Prof. Amr Goneid, AUC

  6. Course Contents(continued) • Streams & Files • What are Streams and Files? • Standard I/O Streams • I/O Manipulators • External Files • Structure of Text Files • Declaration • Opening & Closing • One-Character I/O • String & Data I/O • Passing Files as Parameters Prof. Amr Goneid, AUC

  7. Course Contents(continued) • Pointers and Dynamic Data Structures • Static Data Structures • The Address of a Variable: Pointers • Dereferencing • Pointers to Arrays • Dynamic Data Structures • Run-Time Arrays Prof. Amr Goneid, AUC

  8. Course Contents(continued) • Structs • What are Structs ? • Definition & Declaration • Accessing Members of a Struct • Compound Structs • Structs as Operands & Arguments • Pointers to Structs Prof. Amr Goneid, AUC

  9. Course Contents(continued) • Recursion • Definitions • Examples from Math Functions • Why Recursion • Rules for Recursion • General Recursive Structures • Famous Methods • The Role of the Stack • Recursive Array processing using Exclude & Conquer • Recursive Array processing using Divide & Conquer • More Examples • Iterative VS Recursive Algorithms Prof. Amr Goneid, AUC

  10. Course Contents(continued) • Abstract Data Types (ADT’s) • Data Modeling • Abstract Data types (ADTs) • A Classification of Abstract Structures • Another Classification • Special Data Structures • Examples on Modeling • Example ADT’s Prof. Amr Goneid, AUC

  11. Course Contents(continued) • User Defined Classes • OOP & Classes • Data Encapsulation, Classes and objects • Class Definition: Private & Public Members • Constructors & Destructors • Data and Function Members • Accessors & Mutators • Polymorphism and Overloading • Example: Rational Numbers Class • Example: Simple String Class Prof. Amr Goneid, AUC

  12. Course Contents(continued) • Dictionaries (1): A Key Table Class • The Key Table as a Dictionary • ADT Key Table • Key Table Data Members • Key Table Operations • Class Template • Element Specification • Key Table Class Definition • Key Table Class Implementation • Example Application Prof. Amr Goneid, AUC

  13. Course Contents(continued) • Linked Lists • The Linked List Structure • Some Linked List Operations • Variations on Linked Lists • ADT Linked List • A Linked List Class Definition • Linked List Class implementation • Example Application Prof. Amr Goneid, AUC

  14. Lab Assignments Assignment (1): Revision on CSCI 106 material Assignment (2): Using 2-D Arrays Assignment (3): Using strings and streams and files Assignment (4): Application on 2-D Dynamic arrays Assignment (5): Using recursive algorithms Assignment (6): Using ADT’s and classes Assignment (7): Application on ADT’s and Classes Prof. Amr Goneid, AUC

  15. Coursework Grading • 30% Programming Assignments. • 20% Midterm Exam (1) • 20% Midterm Exam (2) • 30% Final Exam Prof. Amr Goneid, AUC

More Related