Course CSE316
Title Fundamentals of Software Development
Credits 3
Course Coordinator

C. R. Ramakrishnan


Introduction to systematic design, development and testing of software systems, including event-driven and Web programming, information management, principles and practices for secure computing, software design and development fundamentals, and the application of these skills to the construction of large, robust programs. Students design and implement a secure, full-stack, distributed web application.

Bulletin Link


C or higher in CSE 216 or CSE 260; CSE major

Course Outcomes
  • An ability to use event-driven and reactive programming to the construction of Web software.
  • An understanding of information management systems and querying databases.
  • An ability to use current design and development principles to systematically build and test large programs.

Major Topics Covered in Course
  • Event-driven programming, including the use of front-end Web frameworks
  • Information management, including database CRUD operations and transactions
  • Software design principles, techniques and patterns
  • Continuous integration / continuous development
  • Fundamentals of secure, distributed computing

Laboratory Projects
Course Webpage