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
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)
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
Mid Term, Report writing/ Presentation, Assignments, Project Report, Quizzes, Final Term
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.