Programming assignments completed during my time at university.
##Analysis of Algorithms I
Languages used: Java
Brief course content:
Upper and lower time and space bounds; levels of intractability; graph algorithms; greedy algorithms; dynamic algorithms; exhaustive search techniques; parallel algorithms.
##Computer Organization
Languages used: ARM Assembly Language
Brief course content:
Computer architecture; data representations; hardware; memory management; instruction sets; exposure to an assembly language for a RISC machine; assembly and linking.
##Computer Science Fundamentals I
Languages used: Java
Brief course content:
The nature of Computer Science as a discipline; the design and analysis of algorithms and their implementation as modular, reliable, well-documented programs written in an object-oriented language (Java). Intended for students with little or no background in programming.
##Computer Science Fundamentals II
Languages used: Java
Brief course content:
A continuation of Computer Science Fundamentals I. Data organization and manipulation; abstract data types and their implementations in an object-oriented setting (Java); lists, stacks, queues, trees; pointers; recursion; file handling and storage.
##Data Structures and Algorithms
Languages used: Java
Brief course content:
Lists, stacks, queues, priority queues, trees, graphs, and their associated algorithms; file structures; sorting, searching, and hashing techniques; time and space complexity.
##Introduction to Software Engineering
Languages used: Java
Brief course content:
A team project course that provides practical experience in the software engineering field. Introduction to the structure and unique characteristics of large software systems, and concepts and techniques in the design, management and implementation of large software systems.
##Software Tools and Systems Programming
Languages used: Bash/Bourne shell, C
Brief course content:
Understanding how programs execute (compilation, linking and loading); an introduction to a complex operating system (UNIX); scripting languages; the C programming language; system calls; memory management; libraries; multi-component program organization and builds; version control; debuggers and profilers.
Certain files, images, or other content found in this repository are not the property of myself, and are the property of their respective owners wherever appropriate.