Programming Language Concepts
Program Overview
University Programs
The university offers a range of programs, including undergraduate, graduate, and continuing education options.
Academic Pillars and Clusters
The university is organized into several academic pillars and clusters, including:
- ASD: Architecture and Sustainable Design
- DAI: Design and Artificial Intelligence
- EPD: Engineering Product Development
- ESD: Engineering Systems and Design
- HASS: Humanities, Arts and Social Sciences
- ISTD: Information Systems Technology and Design
- SMT: Science, Mathematics and Technology
Program Details
One of the programs offered is the 50.051 Programming Language Concepts module, which covers:
Description
In this module, students will learn about data representation, programming, and compilation. The module is divided into two parts, with the first part focusing on binary encoding, data types, and object-oriented programming. The second part covers compilation, including lexical and syntaxic analysis, parsing, and programming language design.
Prerequisites
- 10.014 Computational Thinking for Design (For AY2020 to AY2024)
- 10.025 Computational Thinking for Design (For AY2025 and subsequent batches)
Learning Objectives
- Program in C and C++
- Design a compiler for an imperative programming language
- Understand how data/instructions are stored and represented in the computer's memory
- Understand the link between imperative and object-oriented languages
- Understand the compilation process
Measurable Outcomes
- Understand how memory is used to store data and instructions on a computer
- Ability to program in C and C++
- Understand the imperative programming paradigm
- Understand the compilation process
- Ability to learn any imperative programming language
Recommended Texts and Readings
- SEI CERT C Coding Standard, Rules for Developing Safe, Reliable, and Secure Systems
- C Programming Language, (Kernighan & Ritchie)
- A Complete Guide to Programming in C++, (Kirch-Prinz & Prinz)
- Introduction to Compilers and Language Design (Thain, chapters 1-8)
Topics Covered
- Binary Operations
- Data Representation
- C programming
- C++ programming
- Memory management
- Compilation
- Pre-processing & lexical analysis
- Top-down and bottom-up parsing
- Semantic analysis
Course Instructors
- Prof Matthieu De Mari
- Prof Dileepa Fernando
Research and Innovation
The university also offers research and innovation opportunities, including:
- Design·AI Research
- Design·AI Innovation
- Design·AI Enterprise
Campus Life
The university provides a range of campus facilities and services, including:
- Academic facilities
- Housing
- Sports and recreation centre
- F&B and services
- Library
About the University
The university is committed to diversity and inclusion, sustainability, and thought leadership. It has a range of leadership and faculty members, and offers various news and publications.
