SE-3101

Soft Construction and Development

Course ID
SE-3101
Department
Software Engineering
Campus
Chella Campus
Level
Undergraduate
Semester
5th
Credit
2 + 1
Method
Lecture + Lab

Course Outlines:

Moving from design to implementation code

Regular expressions and grammars, Parser generators

Software Construction fundamentals

Designing specifications

Mutability and immutability

Recursion and Abstract data types

Abstraction functions and rep invariants

Interfaces, Graphical user interfaces

Recursive data types

Concurrency, thread safety, Sockets and networking

ļ‚· Queues and message passing, Locks and synchronization

Code refactoring

Exception handling

Static checking and testing

Code review

Course Learning Outcomes

Describe the architecture of a compiler, and function of its components

Design and implement lexical and syntax analyzers by using various algorithms.

Design and implement a lexical analyzer , parser and different Compiler design related concepts using lexical analyzer generator (Lex) , parser generator (YACC) and DevC++.(Lab)

Teaching Methodology (Proposed as applicable):

Lectures (audio/video aids), Written Assignments/ Quizzes, Tutorials, Case Studies relevant to engineering disciplines, Semester Project, Guest Speaker, Industrial/ Field Visits, Group discussion, Report Writing

Assessment:

Mid Term, Report writing/ Presentation, Assignments, Project Report, Quizzes, Final Term

Suggested Books:

Client-Centered Software Development, Allen B. Tucker, CRC Press, latest edition.

Software Essentials: Design and Construction, Adiar Dingle, CRC Press, latest edition

Clean Code: A Handbook of Agile Software Craftsmanship, Robert C. Martin, Prentice Hall, latest edition.

There are 133 total credit hours to complete the Software Engineering degree.