School:Computer Science/Degree

This is a list of core courses from The School of Computer Science.

Credentials
As Wikiversity is not a degree granting institution, students cannot be given any sort of official certification. Instead, students wishing to document their achievements should consider taking competency and certification exams such as the IC3 exam, the CLEP Computer exam, and a variety of computer industry vendor and vendor-neutral certifications.

''Many of these courses are only partially completed. If you wish to consider your learning experience complete for that subject, consider becoming a contributor by assisting in developing the resource for others. Remember - Be Bold!''

Introduction:

 * Introduction to Computers

Core Courses:

 * Introduction to Computer Science
 * Introduction to Programming
 * Introduction to Algorithms
 * Theory of Programming Languages
 * Computer Architecture
 * Introduction to Discrete Math
 * Operating Systems
 * Introduction to Theory of Computation
 * Networking

Electives:

 * Other courses listed in the full course listing can be considered electives.

Introduction to Computers
Course Page This resource is 75% complete

Prerequisites
This course is designed for students with no background in Computer Science.

Description
A computer is a device that can receive, process and store data. They are used as tools in every part of society together with the Internet. Computers nowadays are complex; there are a lot of different components inside them, and they all serve different purposes. They all need to work together for the computer to work; knowing how a computer works makes it easier to use a computer by being able to understand how a computer will respond.

^ Back to Top ^

Introduction to Computer Science
Course Page This resource is 50% complete

Prerequisites

 * Introduction to Computers (Optional)

Description
This course covers the same materials as an introductory class for undergraduate computer science majors. Its curriculum, which includes software, hardware and algorithms, resembles that of a one- or two-semester first-year college course or the high school Advanced Placement (AP) Computer Science. It does not require a formal computer science background.

^ Back to Top ^

Introduction to Programming
Course Page This resource is 75% complete

Prerequisites

 * (Optional) Introduction to Computers
 * Introduction to Computer Science

Description
Since this is an introductory course, we won't be dealing with any one programming language in particular. Examples will be taken from a number of programming languages or given in a pseudocode. More in depth learning of specific programming languages are dealt with in later programming courses.

^ Back to Top ^

Introduction to Algorithms
Course Page This resource is 25% complete

Prerequisites

 * Introduction to Programming

Description
This course covers the method behind measuring efficiency and writing good algorithms. It will also describe frequently used algorithms.

^ Back to Top ^

Theory of Programming Languages
Course Page This resource is 50% complete

Prerequisites

 * Introduction to Programming
 * Discrete Math

Description
Understanding the underlying logic behind programming languages is vital for comprehending Computer Science concepts - ranging from programming to systems design. This course is designed to acquaint you with the subject matter you and give you a groundwork for further study.

^ Back to Top ^

Introduction to Discrete Math
Course Page This resource is 75% complete

Prerequisites

 * Introduction to Programming

Description
This is the first of two discrete math subjects for students of Computer Science at Wikiversity. Discrete mathematics is the part of mathematics devoted to the study of discrete (i.e. distinct) objects. In general, it is used whenever objects are counted, when relationships between finite (or countable) sets are studied, and when processes involving a finite number of steps are analyzed. It is important for computer science because in computing machines, information is stored and manipulated in a discrete fashion.

^ Back to Top ^

Computer Architecture
Course Page This resource is 0% complete

Prerequisites

 * Introduction to Programming
 * Theory of Programming Languages

Description
This course introduces students to the core concepts of Computer Architecture - including hardware components, assembly languages, and pipelining.

^ Back to Top ^

Operating Systems
Course Page This resource is 25% complete

Prerequisites

 * Computer Architecture

Description
The operating system (OS) is specialized computer software that allocates memory and manages system resources. This course will explore the hardware/software interface, the history of operating systems, and other related topics.

^ Back to Top ^

Introduction to Theory of Computation
Course Page This resource is 75% complete

Prerequisites

 * Discrete Math

Description
Theory of Computation is an integral component to the theoretics of computer science. Topics include computability, Turing machines, and decideability.

^ Back to Top ^

Networking
Course Page This resource is 50% complete

Prerequisites

 * Introduction to Computer Science

Description
Computer networking is the scientific and engineering discipline concerned with communication between computer systems. Such networks involve at least two devices capable of being networked with at least one usually being a computer. The devices can be separated by a few meters (e.g. via Bluetooth) or thousands of kilometers (e.g. via the Internet).

^ Back to Top ^