SWE 211 — PROGRAMMING LANGUAGE PARADIGMS | Brussels College
Course Syllabus

PROGRAMMING LANGUAGE PARADIGMS

SWE 211 — Software Engineering
Code
SWE 211
Type
B
ECTS
7
Category
Compulsory
Course Description

The course comprises the fundamental concepts in design and implementation of programming languages, including syntax, semantics, names, bindings, data types, type checking, data control, storage management, subprograms, parameter passing, operating environment. Main paradigms of programming will be carefully covered including: structured programming, object oriented programming and functional programming. An exposure to several programming languages representing procedural, object-oriented and functional programming will also be provided, where students will further develop their practical competency.

Course Objectives

The course is organized around basic concepts in design and implementation of programming languages, including syntax, semantics, names, bindings, type checking, subprograms, etc. Main paradigms of programming will be carefully covered including: structured programming, object oriented programming and functional programming.

Key Concepts
  1. Syntax and semantics of a programming language
  2. Lexical and syntax analysis of a programming language
  3. Imperative programming paradigm
  4. Object-oriented programming paradigm
  5. Functional programming paradigm
14-Week Outline
WeekTopic
1General overview on programming languages
2Describing syntax and semantics
3Lexical and syntax analysis
4Automata theory and Backus-Naur Form
5Imperative programming elements
6Selection structures, repetition structures, nesting.
7Built-in data structures in imperative languages.
8Midterm exam
9Subprograms and their implementation in imperative programming.
10Object-oriented programming principles.
11Support for Object-Oriented Programming in Specific Languages
12Exception handling and event handling
13Functional programming languages
14Support for Functional Programming in Primarily Imperative Languages
Learning Outcomes
  1. Students will gain an analytical and comparative look at programming languages and their implementations
  2. Students will develop an aptitude of quickly learn new programming languages
  3. Students will gain a thorough insight of imperative programming paradigm applying it in several programming languages
  4. Students will gain a thorough insight of object-oriented programming paradigm applying it in several programming languages
  5. Students will gain a thorough insight of functional programming paradigm applying it in several programming languages
Assessment Methods
Method% EachQuantity
Homework102
Midterm Exam(s)251
Project101
Final Exam401
Attendance5
Recommended Textbooks

"Concepts of Programming Languages" by Robert Sebesta, Pearson 2019

Scroll