Each homework assignment will consist of a small problem in some OO code, which is somehow problematic, given your developing understanding of good OO best practices and patterns, you will improve, thus eliminating any negative issues in the code you are given. Each homework assignment is intended to give every student hands-on experience with the core concepts covered during the course. You may code your solution to the problem in any legitimate OO language of your choice. You need to submit labs to the TAs for grading--see submission instructions below. Generally, unless otherwise specified, you will have one week to complete each assigned homework problem.
See the syllabus for information on grading. Turning in lab assignments on time is required, without exception, and all late deliveries will be penalized, regardless of cause. Submit your assignments to the subversion repository according to the directions on the syllabus page.
You
may
write these solutions in any programming language of
your choice. Our suggestion is now is not the time to
learn a new programming language along with the concepts
themselves. So our suggestion is to use whatever
programming language you know best.
Homework 3 Due: 5:00 pm, Monday, February 22, 2021
Coding
Problem:
Start
by downloading the source file here.
Examine the code. Improve the code and submit your
improved version.
This
is not necessary, but if you are interested in actually
executing the code, and if you are running on a mac or a linux
box, you'll need to get the mono environment installed which
will compile and execute a .NET portable assembly on your mac or
linux box. Alternatively, you can get down Visual Studio
Community for all environments.
For
mono, go here:
https://www.mono-project.com/download/stable/
For
Visual Studio Community Edition, go here:
https://visualstudio.microsoft.com/downloads/
Once
you've installed either mono or Visual Studio Community, you can
execute and run the program in mono with:
mcs
HRManager.cs
mono HRManager.exe
If
you're working in Visual Studio Community Edition, you'll need
to create a new project (use default .NET version) and use the
file here to compile and run.
References:
You
may
find the following references helpful:
https://web.archive.org/web/20151128004108/http://www.objectmentor.com/resources/articles/lsp.pdf
For
Visual Studio installation on Mac: https://docs.microsoft.com/en-us/dotnet/core/tutorials/using-on-mac-vs
Submitting:
Use the folder named "hw3" in your Subversion repository. See the syllabus for more info about submission using Subversion. Upload your HW3 solution file(s) and any supporting materials to the repo.