CSE316

Course CSE316
Title Fundamentals of Software Development
Credits 3
Course Coordinator C. R. Ramakrishnan
Description

Introduction to systematic design, development and testing of software systems, including event-driven and Web programming, information management, databases, principles and practices for secure computing, and version control. Students apply these skills in the construction of large, robust programs.

Prerequisite Prerequisites: C or higher in CSE 214 or CSE 260; CSE 216 or CSE 307; CSE major

Partially fulfills: ESI, EXP+, SBS+, STEM+
Course Outcomes
  • An ability to use event-driven programming in the construction of Web software.
  • An ability to create a logical database design and implement it as a physical schema for a software application.
  • An ability to apply algorithmic and software design/development principles to build large programs.
  • An ability to design and implement a software testing plan.
  • An ability to apply security principles to develop robust programs.
Textbook
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
Course Webpage

CSE316