0% found this document useful (0 votes)
27 views

Syllabus csc309 2024_2025

Uploaded by

Olalekan Ibrahim
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
27 views

Syllabus csc309 2024_2025

Uploaded by

Olalekan Ibrahim
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 3

KWARA STATE UNIVERSITY, MALETE

FACULTY OF INFORMATION AND COMMUNICATION TECHNOLOGY


COMPUTER SCIENCE DEPARTMENT
COURSE SYLLABUS

GENERAL INFORMATION
Course Title: Compiler Construction I
Course Code: CSC 309
Credit Units: 2
Course Status COMPULSORY (B.Sc. Computer Science and B.Ed. Computer science)
(for degree
majors):
Session: 2024/2025
Semester: HARMATTAN
Meeting venue, MONDAY-ICTAUD (GROUP A) 10-12NOON| ICTLG | 2-4PM
AND (GROUP B)
days, and
times:
Prerequisite: NIL
Other
Lecturer(s): Nil
(if applicable)

Office hours: Monday 10-11A.M and Thursday 12NOON-2P.M

COURSE DESCRIPTION
Introduction:
The course introduces students to the fundamental principles, techniques and tools involved in the
construction of a compiler for High-Level programming languages. The course covers essential
phases of compiler development including lexical analysis, syntax analysis and error handling.
Students will gain a foundational understanding of grammar, parsing methods and the tools required
for automating parts of compiler construction, preparing them for more advanced studies in
language processing and software development.
Course Aim:
To provide students with a thorough understanding of compiler design and implementation,
enabling them to apply theoretical concepts in practical compiler construction tasks.
Course Objectives:
By the end of the course, students should be able to:

1. Explain the purpose and structure of a compiler, including the various phases of compilation
2. Understand and apply basic concepts of grammar, regular expressions and finite
automata in lexical analysis phase.
3. Develop a lexical analyzer to identify valid tokens using lex
4. Perform syntax analysis using predictive and LR parsing techniques
5. Use tools like Javacc and yacc to automate the parser generation process
6. Identify and handle syntax and lexical errors effectively within the compilation process.

Teaching format

Page 1 of 3
Course Syllabus csc309– Compiler Construction I

Lecture, practical, discussions

Materials required
Lecture notes, Recommended Readings, software

ASSESSMENTS
Types of assessments and grading policy:
Attendance (5 marks), Test (15 marks), Project (10 marks), and Examination (70 marks)

Nature of assessments:
MCQ, Essay questions

Assessment dates:
Attendance (6 Classes), Test (Week 9), Project (Week 6 and 12), and Examination (Week 14-17)

LECTURE SCHEDULE
Week 1-2: Overview of Programming languages and the motivation for compilers: Evolution of
Programming languages, Types of Programming Languages (Low-level, High-level),
compilation vs. interpretation, role of compilers in modern computing, why study
compilers? (optimization, cross-platform support etc)

Week 3: Overview of the different phases of a compiler: Compilation process overview,


Phases of a compiler (Lexical Analysis, Syntax Analysis, Semantic Analysis,
Intermediate Code Generation, Code Optimization, target code Generation), Symbol
Table (Definition and purpose, structure of symbol Tables, Symbol table
Management), Error Handling.

Week 4-5: Lexical Analysis Phase In Details: Lexemes, tokens, patterns, Regular expression
and finite automata in brief, construction of lexical analyzer (using C , python etc.),
error handling during lexical Analysis (Types of errors, error detection and recovery
techniques).

Week 6: Practical Session on Lexical Analyzer using lex

Week 7-8: Formal Grammar as a prerequisite to syntax analysis: Meta-languages, formal


definition of grammar, grammar classifications (Chomsky Hierarchy), Context free
grammars (CFG), Derivations, parse trees and sentential forms, Ambiguity in
grammar.

Week 9: Continuous Assessment Test

Week 10-11: Syntax Analysis Phase in Detail: Role of Syntax Analysis in compilers, Top-down
Parsing (Recursive Descent, LL(1)), Bottom-up parsing (LR(0), SLR(1)), Error
Handling during syntax analysis (Error detection strategies, panic mode recovery,
error recovery techniques)

Week 12: Practical Session on syntax analyzer using tools like Javacc and yacc

Week 13: Revision

Week 14-17: Harmattan Semester Examinations

2024/2025 HARMATTAN Page 2 of 3


Course Syllabus csc309– Compiler Construction I

PRACTICAL SESSIONS (if applicable)

1. Implementing a lexical Analyzer using lex: Students will learn to tokenize source code into
meaningful tokens like identifiers, keywords and operators
2. Implementing a parser using javacc and yacc: students will construct parse trees for given
expressions using manual methods and code implementation
3. Grammar-based sentence validation: Student will demonstrate how a parser checks whether
input strings conform to a defined language

COURSE REFERENCE RESOURCES

- Des Watson (2017): A Practical Approach to Compiler Construction. Springer International


Publishing AG 2017
-Learn Compiler Design by Tutorials point: www.tutorialspoint.com

OTHER INFORMATION
 Attendance is mandatory. Students are encouraged to attend classes regularly
 Students must always come to class well dressed and participate actively in class activities.
 Late coming to class an hour after the commencement of lecture will not be condoned!
 Noise making, receiving, or making of phone calls or disruption in any form is highly prohibited during
lecture sessions. All mobile devices must be muted or switched off during teaching and learning
sessions.
 Your performance on the exam, quiz and project should reflect your effort not that of others,
however, it is acceptable to work in groups during class activities.
 Finally, only students who officially registered for the course on KWASU portal will have their
grades recorded.

2024/2025 HARMATTAN Page 3 of 3

You might also like