Computer Systems Integration (BSc Hons)
September 2007 - Present
Formally called Computer Systems Engineering, Computing for Real Time Systems.
Introduction
The development of computers and all their associated components, software and devices, continues to move ahead at an ever increasing pace. Computer systems are a complex and exciting mix of hardware and software, which requires careful study if you are to understand their functioning. With the growing availability of programmable gate array devices, it is now possible to configure your own processor without the financial backing of international giants such as Intel or Sun Microsystems. The additional complexity of high speed computer networking, at local and international levels, throws up more technical challenges to be solved.
My degree focuses on the practical exploration and explanation of all aspects of computer systems, but especially networks, CPU architecture and embedded systems development.
Possible goals in the final year could be to design and implement a new processor or to develop multi-threaded software to fully exploit a multi-core processor. It is now more important than ever to appreciate the features of modern CPUs which are crucial for technical and commercial success. Because software must try to fully utilise the facilities provided by the CPU, programmers must understand those capabilities. All too often, high level languages are presented as if they have no relationship with the underlying electronic hardware. Operating systems, such as WinCE and Linux certainly need to take into account aspects of the processor architecture if they are to perform satisfactorily.
My course provides me with the correct balance of knowledge concerning digital hardware and software so that I can really understand how a computer works.
Content
Because I have a technical curiosity and a strong interest in finding out how computer systems actually work, I really enjoy this course. It involves lots of practical work concerned with the different aspects of digital electronics and programming. There are option routes to choose which concentrate more on hardware (CPU Architecture/VHDL) or on software(Web Technology). However, both specialise in the design and implementation of computer systems. I have chosen CPU Architecture/VHDL as my option choice.
In my first year, besides the core programming in C using autonomous buggies, there was also a case study in the use of assembler and PIC microprocessors for communications equipment. I also developed a packet store-&-forward RingLAN for text messaging.
In my second year, I am implemented a CPU design using the language VHDL.
The technology is always changing, so my curiosity is a key asset when studying this exciting subject.
The skills I have genrally gathered from the course so far are:
- Programming in C and C++, asm86, PIC & ARM Assember
- Design methods such as Object Oriented methods, Finite State, UML
- Administration of networked computers
- Installation and configuration of Linux
- Cross development methods for embedded systems
- Use of Linux for day to day use, programming, and embedded systems
- Hardware configuration using VHDL and FPGAs
- Real-time systems design techniques and debugging methods
- Dealing with Version Control
- Discipline of adding comments when writting code