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.

Bulletin Link

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