Course: Software Construction

Project Guidelines

Modern software makes extensive use of libraries and frameworks. One of the requirements in this course is that students work on a project that involves creating an application using libraries and frameworks of their choosing. Some of the frameworks you can consider include java Spring, Hibernate, Angular, React and any other framework you are familiar with or frameworks that you wanted to learn but didn’t find the opportunity to. 

The purpose of the project is to demonstrate through your code implementation the application of principles/concepts that you have learned in the course. With regards to the size and the scope of the project, I would leave it to the individual student to decide. The project scope and size should be just sufficient enough to demonstrate the subject matter that you would like to demonstrate from the course.

Apart from creating the application, you would also provide documentation of principles/concepts you have applied and where and why you applied them. 
The principles laid down in the Code Complete textbook would be used as guidelines when grading your project. The following aspects of quality code will be the focus:

Simplicity (absence of code bloat and complexity)
Modularity (encapsulation, class dependencies, package structure)
Layout and style (indentation, comments, naming variables, classes, and other programming constructs)
Documentation of preconditions, postconditions and class invariants
Appropriate error handling mechanism
Use of assertions in code the correct way. Asserts are used to document and check assumptions and they are not to be used for input validation or error handling.
Design for extensibility – design should be extensible and should demonstrate the application of SOLID principles of software design.

 I just need this one page that’s part of the project (1st part) finished on or before September 16, which is worth 50 points. The rest of the assignments that are part of this project are due in later dates). 

A one-page description of the project that also includes some of the important features to be implemented along with information on the programming language, framework, and libraries to be used. (Due Sept 16th via Email to the instructor) – 50 points

Thanks 🙂