Courses Detail Information

ECE2800J – Programming and Introductory Data Structures


Instructor: Weikang Qian

Instructors (Faculty):

Credits: 4 credits

Pre-requisites: Vg101 or equivalent

Description:

Techniques for algorithm development and effective programming; Testing and program correctness; Program language syntax and static and runtime semantics; Procedure abstraction, recursion, and parameter passing methods; Abstract data type, inheritance, template, and polymorphism; Structured data types, pointers, arrays, linked data structures, stacks, and queues.

Course Topics:

  1. Linux basics and compiling program on Linux
  2. Review of C++ Basics, such as array, pointer, etc.
  3. Procedural abstraction, function call mechanism, and recursion
  4. Function pointer
  5. Enum
  6. Program arguments
  7. Testing
  8. Debugging
  9. IO
  10. Exception
  11. Abstract data type and class
  12. Inheritance and virtual function
  13. Interface (i.e., abstract base class)
  14. Representation invariant
  15. Dynamic memory allocation and dynamic arrays
  16. Overloaded constructor, destructor, copy constructor, and overloaded assignment operator
  17. Operator overloading and friend mechanism
  18. Linked list (including linked list traversal)
  19. Stack and queue
  20. Polymorphism, template, and STL

Course Profile

Sample Syllabus