Highlights
Overview
This assignment will test your ability to implement and use a linked list data structure to implement a (simulated) web browser. This browser will allow users to visit and navigate a history of websites visited, along with maintaining a list of bookmarked favorite sites.
You will be provided with a main program that includes a menu and prompt to control and test your implementation. Additionally, the main program will be able to run a list of commands from a file. You will also be provided with appropriate header files and a makefile, leaving you to implement only the Node, LinkedList, and Browser classes.
The Supplied Files
This section gives an overview of the files that you are provided as part of this assignment. There are quite a few, so you are recommended to take some time to understand the overall structure of the program.
Main.cpp – contains the main function and other functions that allow you to interactively test the functions you implement in playlist.
node.h – contains the header for the Node class, which includes the instance variables and behaviours that your node should contain.
node.hpp – contains (skeleton) template implementations for the Node class. This is where your implementation of the node is to be completed.
Running the Program
Of course, you will need to ensure the program is compiled prior to running it. You can use the supplied makefile for this – it will produce an executable called Browser. Note: while the initial code you have been supplied will compile, it will produce a compiler warning (see Figure 1).
In this case, the warning is indicating that we have a method expecting a reference to be returned, but we have not returned anything. In fact, all the methods you are meant to implement are either empty or return default values – you are provided only with a skeleton of the final program and are expected to complete the required implementations.
The program will operate in two different modes: prompt (interactive) mode and file mode, each described below. In prompt mode, the user is presented with a prompt to enter commands in sequence. In file mode, the user can supply a text file, which contains a list of commands that will be executed – this can be used to test a particular sequence of commands without having to type them every time
Prompt (Interactive) Mode
To run in prompt mode, the program should be executed as normal using the command
When the program is first run, you will be presented with a welcome message and a prompt. The prompt will allow you to enter commands to interact with your browser. Initially, the program will run, but not successfully given that you will not have implemented the functionality. However, you are recommended to have a look through the code, particularly the header files, to better understand the requirements for the various methods you must write.
Figure 2 shows the list of commands that the program can interpret and execute. The parsing and execution of these commands is handled in the main file. Thus, your concern is only to implement the underlying functionality to provide the intended behaviour.
Figure 3 shows an example of the program operating in prompt mode, where the user has entered the commands listed after the prompts Enter Command:
File Mode To run in file mode, the program will be executed with an argument containing the name of the file. To run in file mode, the program will be executed as:
Browser TestCommands.txt The list of commands in the supplied TestCommands.txt is minimal and does not run an exhaustive set of tests. However, you may supply the path to any text file as the argument. In fact, you are encouraged to develop your own set of tests, which may be easiest to do with a preset list of commands in a text file.
The Tasks
Your tasks can be summarised as the implementation of three classes, namely Node, LinkedList, and Browser. For each class, you are provided with the header file and skeleton implementations (i.e., method stubs that allow the program to compile, but are otherwise non.
This SENG1120 – Engineering has been solved by our PHD Experts at My Uni Paper.
© Copyright 2026 My Uni Papers – Student Hustle Made Hassle Free. All rights reserved.