Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

CS151 Programming Assignment 4 Fall 2020 Kicking It Old School With Type-In Programs

Download as pdf or txt
Download as pdf or txt
You are on page 1of 3

CS151 Programming Assignment 4

Fall 2020
Kicking It Old School with Type-In
Programs
Introduction
Although I am quite ancient, I still had access to video games as a kid in the late 1970’s and early 1980’s.
While there were some great ROM cartridges available for platforms such as the Atari 2600 and
Intellivision, most of the games for personal computers such as the Apple II, the TRS-80, and the TI99/4A
came in the back of computer hobby magazines such as Compute and Antic.

Each month, you would receive a copy of your magazine in the mail. The magazine would typically
include a source code listing for a program, which was usually a game (e.g. Dartmouth Football) or a
novel utility (e.g. Atari Beer Party, Singing Christmas Cards). Early type-in programs were sometimes
given in machine language, but most of the later type-in programs were given in the BASIC programming
language.

Well, times have changed and all the cool kids nowadays are getting their copies of computer hobby
magazines through the Internet Archives and Atari Archives. They’re also using a cool language known as
C++ and its standard template library to implement their code. In this assignment, you’ll rescue one of
these old type-in programs from the dustbin of history

Part 1 – Understand the Problem (10 Points)


Websites such as the Internet Archive (www.archive.org) and the Atari Archives
(https://www.atariarchives.org/) have preserved quite a few of these type in programs for posterity. In
particular, the Atari Archives has a complete copy of David H. Ahl’s 1978’s classic book entitled “BASIC
Computer Games” while the Internet Archive has copies of the old computer hobby magazines available.

For this part of the assignment, spend time researching the available type-in games and utilities that are
available online and select one of these programs that you will implement. Your program should
represent a sufficient level of challenge. In other words, you need to select a program that has more
than 2 pages of code.

In 1-2 paragraphs, describe the type-in program you selected and why you found this particular program
to be worthy of being rescued from the annals of history. Provide a link to your program.

Submit your answer using part 1-2 of the assignment link by November 2, 2020.
Part 2 – Create a Plan (20 Points)
You should already have a code listing for your chosen program, although these code listings leave a lot
to be desired in terms of their structure (e.g. illegible fonts, numerous goto statements, and single letter
variable names). There is also a distinct lack of comments in most of them.

For creating your plan, you will need to reverse engineer the program code to understand how the
program is supposed to work and to identify how the program can be made more efficient using a
structured programming approach.

For your plan, you will need to include the following:

1. A description of your program re-design that indicates how you will re-design your program to meet
the assignment requirements. You should indicate:

a. How you will rename the variables and data structures in your program.

b. The major functions your program will have along with descriptions of their parameters.

c. Descriptions of the algorithms your program will use.

2. Since this portion of the class is focused on using the Standard Template Library, you’ll need to plan to
utilize these tools as part of your plan:

 Use at least one container class from the standard template library.
 Employ at least three member functions from your container class
 Use at least one iterator to go through the items in your container class.
 Use at least two generic algorithms from the standard template library. One should be a
modifying algorithm. The other should be non-modifying.

The standard template library should actually make your program easier to write rather than more
difficult.

Submit your answer using part 1-2 of the assignment link by November 2, 2020.

Part 3 – Implement Your Program (70 Points)


For this part of the assignment, you will implement your plan in code using C++. Your code should have
appropriate comments to explain the program and the code. It should be written in a consistent and
readable form and compile and run without errors or warnings. It have all of the program requirements
related to the standard template library.

Submit your code using the implement and test link by November 23, 2020.
Part 4 – Online Demo (25 Points)
This implementation will be a bit different from our previous programs in that you will participate in an
online demo of your program.

For the demo, you will need to prepare a virtual mini poster that highlights your overall project.
PowerPoint can be helpful for creating these types of posters.

In addition to your poster, you should plan to show your program during the November 23, 2020 class
session.

There will be prizes and bonus points for the best poster designs and presentations.

We will conduct our online demos on November 23, 2020.

You might also like