Syllabus 305
Syllabus 305
Code Course Level Credit Unit Contact Hour Part Course Status Pre-requisite Objectives
: : : : : : : : :
CSC305 Programming Paradigm Paradigma Pengaturcaraan Diploma In Computer Science 3 3 5 Core None Upon completion of this course, students should be able to: appreciate the different programming paradigms; develop an application using the structured approach. An introduction to the structured paradigm in problem solving. Students will be exposed to different programming paradigms used in problem solving using computers.
Course Description
SYLLABUS CONTENTS No. 1.0 Topics Introduction Reasons for Studying Concepts of Programming Languages History of Programming Languages Introduction to Language Paradigms Introduction to Language, Syntax and Semantics Describing Languages (Sentence, Language, Lexeme, Token) Describing Syntax (Language Recognizers, Language Generators, Classification of Grammars) Describing Semantics (Operational, Axiomatic, Denotational) Imperative Paradigm Names Variables (types, binding and scope) Expressions (arithmetic, relational, Boolean) Assignments (statement, compound, unary, expression) Control structures (sequential, selection, iteration) Sub-programs (parameters, local variables, recursive) Object-Oriented Paradigm Object-Oriented Concepts (Abstraction, Encapsulation, Inheritance, Polymorphism) Classes and Objects Access Modifiers Fields Methods Class Relationships Logic Paradigm Background Introduction to LP (Predicate Calculus, Propositions, Clausal Form) Elements of LP (Relations, Queries, Terms, Facts, Rules) Introduction to Prolog (Syntax, Operators, List, Recursion) Functional Paradigm Background Introduction to FP (Lambda Calculus) Elements of FP (Expressions, Values, Reduction) Introduction to Scheme (Variables Definition, Function, Iteration and Recursion)
2.0
3.0
4.0
5.0
6.0
TEACHING METHODOLOGY Lectures will be conducted in the class. Practical will be carried out in the lab. ASSESSMENT Final Examination : 60% Course Works : 40% Tests(2) 20 % Quizzes(5) 5 % Assignments(4) 8 % Group project(1) 7 % TEXT BOOK Sebesta, Robert W., Concepts of Programming Languages, 6Th Edition, Addison Wesley, 2004.
REFERENCES
1. 2. 3. Roosta, Seyed H., Foundations of Programming Languages Design and Implementation, Thomson Brooks/Cole, 2003. Tucker, Allen & Noonan, Robert, Programming Languages - Principles and Paradigms, McGraw-Hill, 2002. Watt, David A., Programming Language Design Concepts, John Wiley & Sons Ltd, 2004.