Computer Science Course Listing

Welcome to the full course listing for courses in The School of Computer Science

This is only a tentative listing of courses. If there's a course you'd like to see here, just add an empty link to it the course offering below. The sky is the limit. Well, not really, because we can't compute that.

### Courses

[edit | edit source]

If you're not sure where to start, begin with Introduction to Computers, and work your way through courses and their prerequisites.

## Computer Programming

[edit | edit source]

* Computer programming
* Introduction to Programming
* Introduction to Programming Logic
* Object-oriented programming
* Dynamic programming
* Algorithms
* Programming Languages
* Theory of programming languages
* Compilers and language theory
* DirectX
* Lisp
* OpenGL
* Shell Scripting
* Python
* libavg
* pyOpenGL
* JavaScript
* jQuery
* PHP
* Ruby
* Java
* Introduction to Programming in Java
* Java tutorial
* Web programming, an example
* Smalltalk
* C
* Objective-C
* C++, .NET
* Assembly
* VHDL
* Software/Application engineering
* Software project management
* Databases
* Modelling
* User interfaces
* Software testing
* Software quality assurance test
* Service Oriented Architecture
* Computer Graphics Programming

## Information Science

[edit | edit source]

* Information theory
* Data compression
* Data structures
* Information security
* Cryptography
* Information Management.

## Networking

[edit | edit source]

* Networking
* Wireless systems
* Information security
* Cryptography
* Client/Server and other types of communication
* Server administration
* Data Management
* Server content : Files and Databases
* Databases

## Operating Systems

[edit | edit source]

* Operating Systems
* Kernel internals (e.g. Linux, BSD, MINIX)

## Artificial Intelligence

[edit | edit source]

* Artificial intelligence
* Natural Language Processing
* Machine learning

## Theory, Logic and Design

[edit | edit source]

* Algorithms
* Introduction to algorithms
* Numerical Algorithms
* Number Theory
* Introductory Discrete Mathematics for Computer Science
* Computer Engineering (The Art of Making Computers)
* Computer architecture
* Introduction to Computer Architecture
* Service Oriented Architecture
* Electronic Design
* Logic Design
* VHDL
* Processor Architecture
* Data Logic
* Computer Logic
* Statistics
* Graph theory
* Information theory
* Computer Science Theory
* Introductory Discrete Mathematics for Computer Science
* Automata theory
* Complexity theory

## Multimedia

[edit | edit source]

* Multimedia
* Graphic design with computers
* Computer-aided Geometric Design

## Applied Computer Science

[edit | edit source]

* Scientific computing
* Bioinformatics
* Geoinformatics (i.e. GIS)
* Graphic design with computers
* Web Services
* Websites
* Web development
* XML, HTML, XHTML, CSS.
* JavaScript
* jQuery
* Web_programming,_an_example
* PHP/MySQL
* .NET
* Python
* Ruby
* Web design
* User interfaces
* Web Applets
* Programming Wikidata

## Other Courses

[edit | edit source]

* Design Physics
* Business process management
* Computational geometry
* Computational linguistics
* Digital Libraries
* Information systems
* Very Small Information Systems
* Nonkilling Technology
* Quantum computing
* Software freedom
* Device Utilization
* Parallel computing
* Concurrency and real-time programming

* v
* t
* e

Major fields of computer science

Pure Mathematics|

* Mathematical Logic
* Set Theory
* Number Theory
* Graph Theory
* Type Theory
* Category Theory
* Numerical Analysis
* Information Theory
* Combinatronics
* Boolean algebra

Theory of computation|

* Automata theory
* Computability theory
* Computational complexity theory

Algorithms, Data structures|

* Analysis of algorithms
* Algorithm design
* Computational geometry

Programming languages, Compilers|

* Parsing
* Interpreters
* Procedural programming
* Object-oriented programming
* Functional programming
* Logic programming
* Programming paradigms

Computing|

* Concurrent computing
* Parallel computing
* Distributed computing
* Multiprocessing
* Grid computing
* Concurrency control

Software engineering|

* Requirement analysis
* Software design
* Computer programming
* Formal methods
* Software testing
* Software development process

System architecture|

* Computer architecture
* Microarchitecture
* Operating Systems

Topic:Telecommunication, networking|

* Routing
* Network topology
* Cryptography

Databases|

* Database management systems
* Relational Databases
* Structured query language
* Transaction processing
* Database indexes
* data mining

Artificial intelligence|

* Automated reasoning
* Computational linguistics
* Computer vision
* Evolutionary computation
* Expert systems
* Machine learning
* Natural language processing
* Robotics

Computer graphics|

* Visualization
* Computer animation
* Image processing

Human–computer interaction|

* Computer accessibility
* User interfaces
* Wearable computer
* Ubiquitous computing
* Virtual reality

Computational science|

* Artificial life
* Bioinformatics
* Cognitive science
* Computational chemistry
* Computational neuroscience
* Computational physics
* Numerical analysis
* Symbolic computation

*[v]: View this template
*[t]: Discuss this template
*[e]: Edit this template