본문 바로가기 사이드메뉴 바로가기 대메뉴 바로가기

Computer Science

Courses

Fundamentals of Software Development
Text code : CSE316 / Credit : 3
  • Prerequisites C or higher in CSE 216 or CSE 260; CSE major
  • Textbook information Kathy Sierra, Bert Bates, Elisabeth Robson, Eric Freeman, Head First Design Patterns, ISBN: 0596007124

Credits 3
Course Coordinator

Antonino Mione

Description

Introduction to systematic design, development and testing of software systems, including event-driven and Web programming, information management, software design and development fundamentals, and the application of these skills to the construction of large robust programs. Includes assignments given at 2-3 week intervals and a large project executed by teams of 2 students. These provide the students with experience in the practice of design and programming.

Prerequisite

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

There is no 'required textbook'; however, the following texts are recommended as reference materials. 

  • Freeman, Eric, Robson, Elisabeth, Bates, Bert, and Sierra, Kathy, "Head First Design Patterns", O'Reilly Media Inc, 2014. ISBN: 978-0-596-00712-6.
  • Accomazzo, Anthony, Lerner, Ari, Murray, Nate, Allsopp, Clay, Guttman, David, McGuinnis, Tyler, "Fullstack React: The Complete Guide to ReactJS and Friends", Fullstack.io, 2020, ISBN: 978-0991344628
  • Hallie, Lydia, Osmani, Addy, "Learning Patterns: Patterns for building powerful web apps with Vanilla Javascript and React", patterns.dev, 2022.
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
  • Fundamentals of secure, distributed computing
Laboratory Projects N/A
Course Webpage

CSE316

 

Antonino N. Mione (Tony) img
Antonino N. Mione (Tony)