Programming Techniques

Curriculum Guideline

Effective Date:
Course
Discontinued
Yes
Course Code
CSIS 2375
Descriptive
Programming Techniques
Department
Computing Studies & Information Systems
Faculty
Commerce & Business Administration
Credits
3.00
Start Date
End Term
202010
PLAR
Yes
Semester Length
15 Weeks X 4 Hours per Week = 60 Hours
Max Class Size
35
Contact Hours
Lecture: 2 Hours per week Seminar: 2 Hours per week Total: 4 Hours per week
Method(s) Of Instruction
Lecture
Lab
Seminar
Learning Activities
  • Lecture
  • Seminar
  • Laboratory assignments
  • Reading
  • Research
Course Description
Beginning with the syntax of the C++ language, the course proceeds to designing and implementing applications from a variety of disciplines using diverse programming techniques. Application areas may include selections from business data processing, operating systems, networking, simulation, graphics, language analysis, and artificial intelligence techniques as used in such areas as expert systems and gaming. A variety of design and programming methodologies will be used such as object-oriented, procedural, functional, and data-driven.
Course Content
  1. Introduction to C++ using Procedural Programming and Structured (top-down) Design
    • Primitive data types, operators, and expressions
    • Control structures
      • Conditional
      • Repetition
      • User defined functions and procedures
        • Parameter passing by value and by reference
        • System stack, scope, and lifetime of variables
        • Function overloading
  2. Dynamically allocated structures
    • Recursion and Functional Programming
    • Linked lists (using SExprs)
    • Recursion
    • Trees (using SExprs)
    • Searching (SExprs and state spaces)
      • Depth-first search
      • Breadth first search
  3. Table and Data Driven Programming
    • Finite State Machines
    • Table-driven methods for implementing finite state machines
  4. Object Oriented Design and Programming
    • Object oriented concepts - classes
    • Class relationships: composition and inheritance
    • Polymorphism
Learning Outcomes

The student will be able to:

  1. analyze a well defined problem and design a program, using a top-down structured methodology or object-oriented design methodology;
  2. implement, using industry accepted styles, intermediate C++ applications from a design using a procedural, functional, table-driven, or object-oriented programming methodology as appropriate;
  3. modify large programs generated or written by another source;
  4. effectively describe and document a project including the design and the data and control structures of the program.
Means of Assessment
Attendance and Participation    0% - 5%
Assignments (Minimum: 4)   40% - 50%
Tests (Minimum: 1) 15% - 50%
Final Examination 25% - 40%
Total         100%
Textbook Materials

Textbooks and Materials to be Purchased by Students

Malik, D.S. C++ Programming; Program Design including Data Structures. Latest edition. Course Technology.

Prerequisites

CSIS1275 or CISY1275 or CMPT1110

Which Prerequisite