PRINCIPLES OF PROGRAMMING LOGIC AND DESIGN

Undergraduate courses, Limkokwing University of Creative Technology, Faculty of Information and Communication Technology, 2018

Course objectives: 

  • To expose the basic concepts of system - design, implementation, and management
  • To provide an overview on computerized application program, terminology, conventions, and procedures
  • To developing structured program logic

Course Outcomes: 

Students will acquire the abilities to:

  • Understand the basic concepts of system
  • Explain the computerized application program, terminology, conventions, and procedures
  • Design and develop structured algorithm of a program logic by using pseudocode and flowchart

SPECIFIC GENERIC LEARNING SKILLS

  • At the end of the module, students are expected to acquire the following skills:
  • To develop and understand a complete program design
  • To design and write algorithms for simple and complex program
  • Construct program logics in a structured, organized, readable and understandable manner

SYNTAX AND SEMANTICS:

Evolution of programming languages, describing syntax, context,free grammars, attribute  grammars, describing semantics, lexical analysis, parsing, recursive - decent bottom - up parsing

DATA, DATA TYPES, AND BASIC STATEMENTS:

Names, variables, binding, type checking, scope, scope rules, lifetime and garbage collection, primitive data types, strings, array types, associative arrays, record types, union types,  pointers and references, Arithmetic expressions, overloaded operators, type conversions, relational and boolean expressions , assignment statements , mixed mode assignments, control structures - selection, iterations, branching, guarded Statements

SUBPROGRAMS AND IMPLEMENTATIONS:

Subprograms, design issues, local referencing, parameter passing, overloaded methods, generic methods, design issues for functions, semantics of call and return, implementing simple subprograms, stack and dynamic local variables, nested subprograms, blocks, dynamic scoping

OBJECT- ORIENTATION, CONCURRENCY, AND EVENT HANDLING:

Object - orientation, design issues for OOP languages, implementation of object, oriented constructs, concurrency, semaphores, Monitors, message passing, threads, statement level concurrency, exception handling, event handling

FUNCTIONAL PROGRAMMING LANGUAGES:

Introduction to lambda calculus, fundamentals of functional programming languages, Programming with Scheme, - Programming with ML,

LOGIC PROGRAMMING LANGUAGES:

Introduction to logic and logic programming, - Programming with Prolog, multi - paradigm languages

TEXT BOOKS:

  • Robert W. Sebesta, “Concepts of Programming Languages”, Tenth Edition, Addison Wesley, 2012.
  • Programming Langugaes, Principles & Paradigms, 2ed, Allen B Tucker, Robert E Noonan, TMH

REFERENCES:

  • R. Kent Dybvig, “The Scheme programming language”, Fourth Edition, MIT Press, 2009.
  • Jeffrey D. Ullman, “Elements of ML programming”, Second Edition, Prentice Hall, 1998.
  • Richard A. O’Keefe, “The craft of Prolog”, MIT Press, 2009.
    1. W. F. Clocksin and C. S. Mellish, “Programming in Prolog: Using the ISO Standard”, Fifth Edition, Springer, 2003

Leave a Comment