Introduction to Computer Science

## Introduction

[edit | edit source]

Dear student,

You are starting to learn about computation and its purpose. 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.

There is also a gentler Introduction to Computers for non-majors, and a basic course focusing on programming that is taught in several computer languages.

The rewards of taking this course are immense. In addition to being a subject in itself, computer science can be applied to almost any other discipline from accounting to zoology. The job prospects for computer scientists and computer engineers are excellent.

Be patient in your studies, and don't get too frustrated if you are stuck on one part of a programming assignment or confused about a concept. Struggling with the materials is a normal and essential part of the learning process. You're probably better off going through the course sequentially and consulting external references as needed. Each lesson, particularly in the programming component of the course, builds on previous sections and it is best to keep up with the materials throughout. You're welcome to go at your own pace and begin or end at any time.

Completing the reading and programming assignments for one section can take awhile. If you would like feedback, the instructors are here to help.

## Prerequisites

[edit | edit source]

Prerequisites are courses that are suggested you understand before you attempt this course. If you're having a hard time understanding the material in this course, make sure you understand these prerequisites first.

* Introduction to Computers

## Corequisites

[edit | edit source]

Computer science is a discipline - also can be described as a branch of knowledge; where abstraction (the process of dealing with ideas rather than events) is of much concern.

## Lessons

[edit | edit source]

| Educational level: this is a tertiary (university) resource.

|

| Completion status: this resource is ~25% complete.

|

| Subject classification: this is a mathematics resource.

|

| Subject classification: this is an information technology resource.

|

Introduction to Computer Science

1. History of Computing
2. Introduction to Turing Machines
3. Number Systems
4. Basics of Computer Architecture
* What is a CPU?
* What is a motherboard?
5. Internet
6. Personal Computers
7. What is an Algorithm
8. How To Implement a Problem Solution as a Program
9. Development Environment and Language Principles
10. Types and Variables
11. Operators and Expressions
12. Control Structures
13. Procedures and Functions
14. Arrays, Strings and Records
15. Basic I/O

Despite the best efforts of the authors, the material in this course is imperfect. If you have a question or otherwise need help with this course, please post on the  Help Page.

## Next Course

[edit | edit source]

* Introduction to Programming

## Related Wikiversity resources

[edit | edit source]

* Introduction to Computers – Beginners guide to computing.
* Introduction to Information Technology – needs work. Will you help out?
* IT Fundamentals

## Related Links

[edit | edit source]

### Academic and other organizations

[edit | edit source]

* Association for Computing Machinery (ACM)
* Computing Research Association (CRA)
* Institute of Electrical and Electronics Engineers (IEEE)
* The Internet Society (ISOC), an international organization which manages the Internet

### Advice

[edit | edit source]

* How to Become a Computer Scientist
* Advice for Computer Science College Students

### Other E-books

[edit | edit source]

* Java Programming (Wikibooks)
* Introduction to Programming Using Java (Creative Commons licensed)
* Thinking in Java
* The Java Tutorials from Sun
* Java Expert Solutions (published in 1997)
* Computer Histories \- An introductory course on the history of computing

### Similar courses at other institutions

[edit | edit source]

* MIT's. Classes in a variety of subjects are available for free at the school's Open CourseWare website.
* Princeton University's course in introductory computer science, complete with lecture slides, assignments and an online textbook.
* Harvard University's Introduction to Computer Science I (video lectures).
* Saylor: CS101: Introduction to Computer Science I

Introduction to Computer Science

Introduction to Turing Machines ->