Skip to content

softwareconstruction240/softwareconstruction

Repository files navigation

BYU Logo

BYU Advanced Software Construction cs240

cover

Welcome

Advanced Software Construction provides you with the experience and skills necessary to use a modern programming language in an advanced development environment to design, test, and build a large multi-user application. Your application will have a client frontend program that communicates, over the network, with a centralized backend server.

The content for this course is represented by the following parts.

  • Instruction - Course topics
  • Chess - Instructions for building your application
  • Pet Shop - Demonstration application
  • Canvas - Submit assignments and tests

Course Schedule

Although assignment due dates are the same for all sections, the lecture schedule may vary by instructor.

Outcomes

By the end of the course you should have experienced the following outcomes.

  • Learn to construct a medium-scale server program with data persistence in a principled way by applying relevant engineering techniques such as up-front design, quality code construction, unit testing, assertions, and error handling.
  • Learn and apply basic software design principles such as single responsibility, low coupling, avoidance of code duplication and information/data hiding to create modular code.
  • Learn and apply the basics of relational database design, modeling and programmatic access.
  • Learn and apply basic security principles and concepts.
  • Learn to validate a program’s behavior against its specification using testing practices.
  • Use modern software tools including integrated development environments, testing frameworks, debuggers, version control, and documentation processing tools.

Technologies

The course covers a full software stack of technologies and topics.

  • Command console
  • Java
  • HTTP
  • Web Services
  • Data Services demonstrated with MySQL
  • Realtime peer to peer interaction with WebSocket
  • Security
  • Testing
  • Application design

Image Source: Dall-E

About

Content for BYU CS 240: Advanced Software Construction

Resources

License

Stars

Watchers

Forks

Languages