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 |
C or higher in CSE 216 or CSE 260; CSE major
|
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 use algorithmic and software design/development principles, version control and security practices to systematically build and test large, 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 Projects |
|
Course Webpage |
|