Introduction to Computer Science
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.
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 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.
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.
Introduction to Computer Science
- History of Computing
- Introduction to Turing Machines
- Number Systems
- Basics of Computer Architecture
- Personal Computers
- What is an Algorithm
- How To Implement a Problem Solution as a Program
- Development Environment and Language Principles
- Types and Variables
- Operators and Expressions
- Control Structures
- Procedures and Functions
- Arrays, Strings and Records
- 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.
Related Wikiversity resourcesEdit
Academic and other organizationsEdit
- 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
- 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 institutionsEdit
- 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