Year 1 Tab Year 2 Tab Year 3 Tab Year 4 Tab

University | Year 1

Discrete Mathematics and Numerical Methods for Computer Science

Compulsory Module

To get everyone on the course to a certain level of understanding in mathematics, we each had to take this module.

Introduction to Computer Science

Hello World

Language:C

First simple program to print "Hello World" (We've all got to start somewhere).

Program for Printer Quotes

Language:C

A simple program to get familiarised with functions and parameters. The program had to produce the cost of printing different books (depending on colour, B&W, no. of pages, no. of plates, etc.).

Interest Earned on a Bank-Account

Language:C

Program to familiarise ourselves with while loops and if-then-else statements. Given a value x and a value y, the program had to output x raise to the power of y to calculate interest and we then changed the algorithm for improved perfomance on larger values.

Soundex Coding

Language:C

Soundex encoding is used to assign a phonetic code to a name. The program had to catch various situations and deal with any formatting that may be incorrect.

Bounding Box

Language:C

Bounding box is the smallest rectangle box you can draw around a shape. The program had to read in a file, which included a number of various shapes and then output the bounding box containing all the shapes.

Reverse Arbitrary Amount of Text

Language:C

This program was to get us used to implementing methods for storing data. It read in an arbitrary number of characters and printed them out in reverse order. Later the algorithm read in a number of lines of text and had to output the lines in reverse order.

Phonebook Application

Language:C

This program read in a number of names and numbers, then took user input to search the data , catching various problems in the input.

Storing & Retrieving Large Amount of Data

Language:C

This problem was to read in the "Christmas Carol" by Charles Dickens and store the file in a hash table. We then had to find various words outputting the number of times each word appears and the time taken to find the information required.

Introduction to Software Engineering

Triangle

Language:Java, Haskell

This assignment was to create a program that input 3 integers and output what type of triangle it is :

Equilateral (if all three sides have equal length)
Isosceles (if two sides have equal length, but not all three)
Right-angled (if one angle is a right angle, excluding isosceles)
Scalene (all sides different lengths, excluding right angled)
Impossible (if the lengths can't form a triangle, or give zero area)

Part of the assignment was to consider all user inputs and errors

Case

Language:Java, Haskell

This task was to read in a string and output in upper, lower or title case depending on an input flag. The string could be several as well as a single word.

Shapes

Language:Java, Haskell

This problem was to read an input file containing a number shapes with and coordinates and output the shared centre and shared area of all the shapes.

Example Input:

Rectangle 0 2 6 6
Circle 10 5 4

Example Output:

Centre (2.0, 2.0), area 8.0

Mind

Language:Java, Haskell

This program was a version of the master mind game where you guess a pattern of various colours of set length, below is an example of the program being run (bold is program output):

> java Mind
Guess the 4 digit secret, or type ? to give up
> 103
Please type 4 digits or ? to give up
> 1034
Golds 0, silvers 3
> 1111
Golds 2, silvers 0
> 1010
Golds 1, silvers 2
> 0113
Correct, using 4 guesses

Scene

Language:Java

This coursework was to produce any program of our choice, using the java GUI libraries, in a pair. Me and a partner produced a pairs game, you simply match two cards together.

Calculator

Language:Java

The problem was to produce a program that takes input in the form of Reverse Polish Notation and output the result of the calculation.The main difficulty of this program was the data structure required to best store this information.

Maze

Language:Java

This program had to read in a file that contained a maze and start coordinates and then output the number of steps to get out of the maze. The maze file would be similar to:

3 3
XXX
X..
XXX
1 1

The output for the above problem would be "2"

Family

Language:Java

The family tree assignment was to read in a number of names and there relations, then a number of queries of two names, the program then output a message to confirm or deny if they are ancestors

Computer Architecture

Simulate a MIPS Processor

Language:Verilog, Assembler Code

For Computer Architecture we had to do various tasks each briefly explained below

  • Modelsim - Use modelsim to produce a processor emulation that could perform addition, negation, division, multiplication and shifting
  • Assembler 1 - Using MIPS32 architecture and SPIM emulator to produce assembler code that calculated the Fibonnaci Numbers
  • Assembler 2 - Again using the MIPS32 architecture to implement the Bubble Sort algorithm and Factorial

HiTec Enterprises

Group Project

This module of Year 1 was to produce a business plan for an idea and then present the idea in a dragons den style situation.

Introduction to Accounting

Open Module

This module was an open unit I chose, which taught me the basics of income statements, balance sheets and cash flow statements and how a business uses these for projections etc.