Module Details

Module Code: LANG
Module Title: Programming Language Design
Title: Programming Language Design
Module Level:: 8
Credits:: 5
Module Coordinator: Nigel Whyte
Module Author:: Joseph Kehoe
Domains:  
Module Description: To provide learners with a theoretical knowledge of, and practical skills of designing programming languages
 
Learning Outcomes
On successful completion of this module the learner will be able to:
# Learning Outcome Description
LO1 Understand the principles behind good programming language design
LO2 Design appropriate Domain Specific Languages
LO3 Understand the fundamentals of program language theory
Dependencies
Module Recommendations

This is prior learning (or a practical skill) that is recommended before enrolment in this module.

No recommendations listed
Co-requisite Modules
No Co-requisite modules listed
Additional Requisite Information
No Co Requisites listed
 
Indicative Content
Paradigms
Functional; Declarative; Constraint Logic; Imperative; Object Oriented; Concurrent; Hybrid
Typing
Static and Dynamic; Strong and Weak; Type Inference
Variables
Scope; Parameter Passing; Mutability; Data Types; Memory Management
Execution
Compilers; Interpreters; Virtual Machines; Portability
Usability
Syntax; Readability; Structure; Grammar
Implementation Issues
Grammer; Tokens; Parsing; Boot-straping
Module Content & Assessment
Assessment Breakdown%
Project50.00%
End of Module Formal Examination50.00%

Assessments

Full Time

No Continuous Assessment
Project
Assessment Type Project % of Total Mark 25
Timing n/a Learning Outcomes 1
Non-marked No
Assessment Description
Produce an in-depth critique of an existing programming language
Assessment Type Project % of Total Mark 25
Timing n/a Learning Outcomes 2
Non-marked No
Assessment Description
Design a Domain Specific Language suitable for a specific problem domain
No Practical
End of Module Formal Examination
Assessment Type Formal Exam % of Total Mark 50
Timing End-of-Semester Learning Outcomes 3
Non-marked No
Assessment Description
n/a
Reassessment Requirement
Repeat examination
Reassessment of this module will consist of a repeat examination. It is possible that there will also be a requirement to be reassessed in a coursework element.

SETU Carlow Campus reserves the right to alter the nature and timings of assessment

 

Module Workload

Workload: Full Time
Workload Type Workload Category Contact Type Workload Description Frequency Average Weekly Learner Workload Hours
Lecture Contact No Description 12 Weeks per Stage 2.00 24
Laboratory Contact No Description 12 Weeks per Stage 1.00 12
Independent Learning Non Contact No Description 15 Weeks per Stage 5.93 89
Total Weekly Contact Hours 3.00
 
Module Resources
This module does not have any book resources
This module does not have any article/paper resources
This module does not have any other resources
Discussion Note: