Computer science is an interesting field to go into. There are a number of opportunities in computer science that you can take advantage of. With computers increasingly becoming a regular part of life, those who can work with computers have good opportunities. You can find a good salary with a program in computer science, and as long as you are careful to keep up your skills. Here are 50 free opencourseware classes that can help you learn more about computer science:
Introduction to Computer Science
Learn the basics of computer science, and get a foundation in how computer science works.- Introduction to Computer Science: Learn about the history of computing, as well as the development of computer languages. A great basic course on introductory computer science.
- Introduction to Computer Science and Programming: A series of video lectures from MIT about computer science, and the basics of programming.
- Introduction to Computers: UC Berkeley offers a course on the basics of computing and science.
- Artificial Intelligence: Learn about the basics of artificial intelligence and how it has been developed for computer applications.
- Breadth Topics in Computing Science: This class from Capilano University offers a wide view of computer science. Learn about design, programming and more for different opportunities in computer science.
- The Anthropology of Computing: This MIT course offers an interesting look into the development of computers and their impact on human society.
- Human Computer Interaction: Basic information on how humans interact with computers, and how to better design usability, from the University of Washington.
Comprehensive Computer Science Collections
If you are interested in courses that are a little more comprehensive in nature, you can get a good feel for computer science from the following collections:- Computer and Computer Systems: An overall view of computers and how they are organized into systems.
- Science and Technology: Connexions, from Rice University, offers a comprehensive course on different types of computer science.
- Information and Technology: Many of the courses offered by the University of Tokyo include English translations, so you can get a good grasp of information and technology.
- Electrical and Computer Engineering: Choose from a variety of courses that can give you a good grasp of the principles behind computer engineering.
- Electrical Engineering and Computer Science: Learn about electrical engineering and computer science can be combined to create amazing technology.
- Science and Technology: Choose from a variety of courses on technology and computers, as well as science, from OER Commons.
Programming and Languages
Get a handle on computer programming, and learn about different computer languages used in programming.- Building Programming Experience: Helpful hints for building up your programming capabilities.
- Computer Language Engineering: Overview of how computer languages are developed, and how to program them.
- Programming Languages: Provides a basic overview of programming languages, offering special insight into Scheme +.
- AJAX: Land of Code offers this tutorial related to programming with AJAX.
- C Programming: The University of Strathclyde provides this course on using the C programming language.
- Fundamentals of C++: This course is offered at free-ed.net, and provides insight and helpful hints on programming with C++.
- Java Programming: This course is written by a computer science professor at Orange Coast College, and is provided through the Sofia Open Content Initiative.
- Perl Lessons: Learn about Perl, and how to use it, especially with CGI.
- PHP Tutorial for Beginners: Get an overview of PHP, and how it can be used in a variety of circumstances.
- Ruby Programming: Learn about Ruby, and learn how to use it for your projects.
Computer Software
Learn about software development, and the importance of software in computer programming.- Designing the user interface: This software design course from The Open University helps you learn the principles of usability.
- Modelling object-oriented software: Learn about object-oriented software, and how it can be used to structure systems.
- Software development for enterprise systems: An overview of how to design software meant for business.
- Software Engineering for Web Applications: Learn about how to design software for web apps.
- Elements of Software Construction: MIT takes you through the basics of constructing software.
- Software Engineering Concepts: Learn the fundamental concepts behind engineering and developing software.
Computer Systems and Information Technology
Learn how to construct computer systems, and get the basic outlines of information technology.- Systems Design and Administration: Learn how to design and administer computer systems from Dixie State College.
- Applied Parallel Computing: Learn about how you can use parallel computing systems.
- Machine Structures: UC Berkeley offers a course on the structure of computers, and how they can interact in systems.
- Operating Systems and System Programming: Get a handle on operating systems, how they work, and how to program them properly.
- Information Technology and the Labor Market: Learn about IT, the demand for it, and how IT is reshaping the way things are done.
- Global Issues in Information Technology: Weber State University introduces different issues in IT.
- Finding information in information technology and computing: An overview of how information is arranged, and how to look for what you need.
Computer Processes and Data
Learn more about computer processing and data management.- An introduction to data and information: The Open University offers a helpful course on data and how it works in a computer environment.
- The database development life cycle: A basic overview of how data development takes place.
- Introduction to Algorithms: Algorithms are necessary for processing information. This MIT course introduces you to them.
- Introduction to Communication, Control, and Signal Processing: Learn how computers process information and data.
- Data Structures: Learn how data is structured, and how you can create your own structures.
- Data and processes in computing: Follow data and processes development as part of computer science.
- Representing and manipulating data in computers: A course in how you can use data for specific purposes.
Web Development
Part of computer science is being able to develop programs, applications and systems for the Internet.- Understanding Computers and the Internet: A look at computers and their importance to the Internet.
- Digital Typography: Get an understanding of how to design typography for the Internet.
- Information Visualization: Learn how to visualize information, and present it in a way that others can relate to.
- User Interface Design and Implementation: A course from MIT about how you can design a usable interface, and implement it.
- Communicating in Cyberspace: Learn how to communicate effectively using computers.
- Search Engines: Technology, Society and Business: Get a handle on how search engines work, and how important they have become to society and to business.
- Communications and Information Policy: Learn about different policies involved with communicating online.