Course outline

Short course name:

High-Level Programming Languages 1

Module number:

COM 102

Course Syllabus:

Programming Language Fundamentals:

Distinction between high and low-level programming languages

Comparison of procedural, declarative and object-oriented programming language types

Languages for parallel programming

Distributed network programming languages

Event-driven programs – GUI event loops and handlers

Compiled versus interpreted languages



Structured Methods for Program Design:

Modular (incremental) design approaches

Top-down program design techniques

Bottom-up program design techniques

Specifying algorithmic logic with flowcharts

Using decision tables

Generic flow control constructs – looping and branching

Coding from functional specifications

Hand-coding versus application generators

Software development tools – symbolic debuggers and test harnesses

The use of UML (Unified Modeling Language) for specifying object-oriented program design and logic



Generic Data Structures for Programs:

Array variables – linear and multi-dimensional areas

Aggregate variable types – records, compound structures (STRUCT) and unions

Pointers and dynamically allocated storage

Stacks, heaps and queues