CSC3321 : Understanding Programming Languages (Inactive)
- Inactive for Year: 2024/25
- Module Leader(s): Dr Troy Astarte
- Owning School: Computing
- Teaching Location: Newcastle City Campus
Semesters
Your programme is made up of credits, the total differs on programme to programme.
Semester 2 Credit Value: | 10 |
ECTS Credits: | 5.0 |
European Credit Transfer System |
Aims
There are a great many programming languages and those which are popular today may be forgotten in twenty years; then you will be learning languages which today do not even exist. Many other "formal" languages are around and will affect your life in computing: scripting, virtual reality, layout, robotics control... Some languages aim for general usage and others are very specific, but all embody certain ideas and concepts. Sadly, many languages focus on one new idea (objects, concurrency, memory manipulation) but have significant drawbacks compared to their predecessors in other respects.
The principal aim of this module is to teach you how to pick apart the key ideas in formal languages and communicate them. In particular, the "meaning" (or semantics) of programming languages is considered. You will learn how to model the very base concepts of computation and combine them in interesting ways to make programming languages. Ultimately this will help you better to understand any particular language you come across and will very likely increase your understanding of the languages you already know. Furthermore, you will be equipped with the knowledge and understanding required to get involved in language design or extension.
The main principle taught is abstraction. The approach to semantics follows Structural Operational Semantics (SOS), with a Viennese flavour. VDM is used for notation only.
Outline Of Syllabus
o Challenges and issues in programming languages
o Syntax (content and structure) of languages
o Semantics (meaning and effect) of languages
-Base concepts: storage, assignment, branching control
-Concurrency
-Blocks, procedures, functions
-Objects
o Context conditions (error prevention)
o Other approaches besides SOS (axiomatic, denotational semantics)
Teaching Methods
Teaching Activities
Category | Activity | Number | Length | Student Hours | Comment |
---|---|---|---|---|---|
Guided Independent Study | Assessment preparation and completion | 26 | 0:30 | 13:00 | Revision for exam of semester exam & exam duarion |
Guided Independent Study | Assessment preparation and completion | 22 | 1:00 | 22:00 | Lecture follow-up |
Scheduled Learning And Teaching Activities | Lecture | 22 | 1:00 | 22:00 | Lectures |
Scheduled Learning And Teaching Activities | Practical | 11 | 1:00 | 11:00 | Practicals |
Guided Independent Study | Project work | 11 | 1:00 | 11:00 | Coursework |
Guided Independent Study | Independent study | 21 | 1:00 | 21:00 | Background reading |
Total | 100:00 |
Teaching Rationale And Relationship
Lectures are used to impart knowledge and practicals are used to provide experience of the solution of problems.
Assessment Methods
The format of resits will be determined by the Board of Examiners
Exams
Description | Length | Semester | When Set | Percentage | Comment |
---|---|---|---|---|---|
Written Examination | 90 | 2 | A | 70 | N/A |
Other Assessment
Description | Semester | When Set | Percentage | Comment |
---|---|---|---|---|
Practical/lab report | 2 | M | 30 | demonstrate understanding of both syntax and semantics of programming languages. |
Assessment Rationale And Relationship
The exam is a problem solving task - it is "open book" - there is no need to learn anything by heart for this module.
The coursework is done in groups (with a small individual element) but each student has to present their own portfolio for marking - other than the (small) individual element, text can be shared between members of the group.
There is one piece of coursework (with five elements of equal weight) requiring students to demonstrate their understanding of both syntax and semantics of programming languages.
N.B. This module has both “Exam Assessment” and “Other Assessment” (e.g. coursework). If the total mark for either assessment falls below 35%, the maximum mark returned for the module will normally be 35%.
Reading Lists
Timetable
- Timetable Website: www.ncl.ac.uk/timetable/
- CSC3321's Timetable