May 11th, 2009

Whether you’ve been accepted to a degree program and want to work ahead, already have a degree and want to learn more or just want to delve into the world of computer and information systems, you’ll find plenty to keep you busy through a variety of open courseware offerings. From courses that teach the basics of computer science to those that delve into specialty areas, you’re sure to find something that will help you learn more and gain confidence in the field.

Computer Science Basics

These courses will help teach you some of the fundamental aspects of Introduction to Computer Science and Programming:This course will teach students, even those with little previous knowledge, about the basics of writing small Python programs. [MIT]

  • Structure and Interpretation of Computer Programs:Give this course a try to learn and apply the basic methods of programming. [MIT]
  • Computation Structures: If you want to learn more about the engineering of digital systems, take this free course. You’ll get information in logic gates, combinational and sequential circuits, finite-state machines, and computers. [MIT]
  • Computer Graphics: In order to create great user interfaces you’ll need to know a bit about computer graphics. This course will take you through the hardware and software needed to do so. [MIT]
  • Essential Coding Theory: Going all the way back to the 1940’s, this course will provide an informative overview of the developments in coding theory. [MIT]
  • User Interface Design and Implementation: In this course you’ll learn how to build effective and user-friendly interfaces with a focus on design, implementation and evaluation. [MIT]
  • Programming Languages: Here you’ll learn the basics of how common programming languages work and get a chance to apply these lessons to some real examples. [MIT]
  • Information Technology Essentials: Covering a wide range of topics, this course is a great introduction to concepts in networks, systems, programming, enterprise applications and much more. [MIT]
  • Information Technology I: Through this course, students will learn the essential concepts behind IT and get a sense of where future developments may be taking it. [MIT]
  • Academic Strategies for the IT Professional: Those already working in an IT field but who want to go back to school will get a lot out of this course, designed to teach time management and goal setting. [MIT]
  • Artificial Intelligence: This course can help students learn how to build computer systems that are smarter and work better with human users. [MIT]
  • Computer Language Engineering: From the interaction of theory and practice to real experience with high-level programming languages, this course will be a great asset to boosting your knowledge. [MIT]
  • Great Ideas in Theoretical Computer Science: Here you’ll get a great introduction to some of the theoretical ideas that are central to understanding computer science. [MIT]
  • Theory of Computation: Take this course to learn more about Automata and Language Theory, Computability Theory, and Complexity Theory. [MIT]
  • Program Analysis: This course covers a range of program analysis techniques focusing on the design and implementation of programming tools. [MIT]

Essential Math

Having a strong grasp of mathematical concepts is essential to working with logic-based systems like computers. These courses will provide some help in learning about basic and more advanced math topics.

  1. Introduction to Algorithms: Check out this course to better understand the relationship between computer programming and algorithms. [MIT]
  2. Introduction to Mathematical Programming: This course will help you learn the math that underlies the basic programming that you’ll do on any development project. [MIT]
  3. Mathematics for Computer Science: From proofs and definitions to discrete probability theory, you’ll learn the important stuff in this computer and engineering focused course. [MIT]
  4. Street Fighting Mathematics: Take your mathematics skills to the streets with this class that can help you learn how to make great estimations without always having to do the calculations. [MIT]
  5. Fundamentals of Probability: If you want to learn more about probability and how to apply it to your computer science studies, check out this free course. [MIT]
  6. Quantum Information Science: Those interested in this course will want to have taken some other courses in quantum mechanics, as this course is focused on more advanced topics in the field. [MIT]
  7. Distributed Algorithms: Through this course, students will learn about the latest research in distributed algorithms and get a chance to carry out their own experiments as well. [MIT]

Law

These law courses can help you to protect your intellectual property and ensure your work within the law.

  1. Ethics and the Law on the Electronic Frontier: Explore legal issues that have to do with the internet, surveillance, data-mining and more through this course. [MIT]
  2. Inventions and Patents: Think you have the next great invention? Learn how you can safeguard your idea with a little guidance from this course. [MIT]
  3. Introduction to Copyright Law: From respecting the law in your own work to understanding how copyrights work in peer-to-peer sharing, you’ll get a good foundation of knowledge in this law course. [MIT]

Security

Those hoping to boost their knowledge of how to keep networks and information safe and secure, will find that these courses offer some great free learning opportunities.

  1. Network and Computer Security: Through this course, students will learn to create secure multi-computer networks, encrypt data, use security monitoring software, access risk and much more. [MIT]
  2. Selected Topics in Cryptography: If you’d like to address some of the more advanced issues in cryptography, this course is an ideal way to do so. [MIT]
  3. Cryptography and Cryptanalysis: Check out these courses for a great introduction to the modern uses of cryptography. [MIT]
  4. Advanced Topics in Cryptography: Focusing on topics like interactive proofs, zero-knowledge proofs, secure protocols, and two-party secure computation, this course will help you take your cryptography studies to the next level. [MIT]
  5. Introduction to Information Security: This course is a very basic introduction to the reasons and methods for securing confidential information. [OpenLearn]
  6. Network Security: Beginners can learn the basics of network security through this course. [OpenLearn]
  7. Hyper-Encryption by Virtual Satellite: Watch this video lecture to learn about the role satellites may play in encryption and the failings of many present methods. [Harvard@Home]
  8. A Worldview through the Computational Lens - Part III: Cryptography: Secrets, Lies, Knowledge, and Trust: Those interested in the role of computers in the modern world will enjoy this lecture that focuses on the benefits and problems associated with digital security. [Princeton]

Networks and Communication

Learn more about building and maintaining networks and working with digital communications through these courses.

  1. Data Communication Networks: Learn why networks are structured the way they are and the challenges that face the designers of these networks in the future. [MIT]
  2. Communications and Information Policy: This course is an introduction to the technology and policy context of public communications networks both in the present and the past. [MIT]
  3. High Speed Communication Circuits and Systems: Check out this course to learn more about the inner workings of wireless and broadband data link applications. [MIT]
  4. Computer Networks: This course addresses the ways that the current global network is structured and ways that it can be changed and adapted to meet future needs. [MIT]
  5. Principles of Wireless Communications: With virtually everything going wireless these days, it’s essential to know how these networks work. Find out more through this course. [MIT]
  6. Principles of Digital Communications I: Some of the topics covered in this two-part course include block diagram level, data compression, Lempel-Ziv algorithm, scalar and vector quantization and much more. [MIT]
  7. Principles of Digital Communications II: This course continues on the lessons of Digital Communications I, offering loads of instruction on how to use, program and understand a variety of digital communication channels and coding. [MIT]

Database and Informatics

Those who plan to or already are working with databases can find out more about what it takes through these courses.

  1. Database Systems: This course addresses some of the basics of database systems, covering topics like relational algebra and data model, schema normalization, query optimization, and transactions. [MIT]
  2. Data Structures and Programming Methodology: Through this course, students will learn how to deal with fundamental data structures, use algorithms and do basic Java programming. [UC Berkeley]
  3. Database, Internet, and Systems Integration Technologies: Check out this free course to learn more about software development methods, data modeling and databases, application development, Web standards and development, system integration, security, and data communications. [MIT]
  4. The Database Development Life Cycle: Learn how databases are developed step-by-step in this course. [OpenLearn]
  5. Introduction to Data and Information: This course provides a very introductory explanation of how to manage data online. [OpenLearn]
  6. Communicating with Data: You’re storing and managing all that data for something. This course teaches you how to use the information you have to make informed and educated decisions. [MIT]
  7. Effective Ways of Displaying Information: Those working with a lot of numerical data will appreciate this course that can help you better represent information graphically. [OpenLearn]
  8. Information Theory: This course focuses on the definition and implications of information entropy, the source coding theorem, and the channel coding theorem. [USU]
  9. Transmission of Information: Take this course online to learn about the quantitative theory of information and how it can be practically applied. [MIT]
  10. Representing and Manipulating Data in Computers: Beginners in the field will gain knowledge in how to store and use information in a computer system from this course. [OpenLearn]
  11. Data and Processing in Computers: Here you’ll learn about the forms of data used on computers and the types of processes most commonly applied to them. [OpenLearn]

Web Development

These courses will help you gain the knowledge you’ll need to program effectively for the Web.

  1. Communicating in Cyberspace: This course examines the topics of analysis, design, implementation and testing of various forms of digital communication. [MIT]
  2. Software Engineering for Web Applications: Visit this course’s site to learn how to program applications for the web and deal with web-specific challenges. [MIT]
  3. Gentle Introduction to Programming Using Python: Students with little or no experience in programming will learn how to use Python in this course. [MIT]
  4. Information on the Web: Learn how to effectively navigate information on the Web through this course. [OpenLearn]
  5. XML Foundations: This short course will help students learn the basic knowledge required for XML, and creating cascading style sheets and RSS feeds. [UC Berkeley]
  6. Creating Home Pages on the World Wide Web: Check out this course to learn how you can implement an internet home page to help your business or professional endeavor. [University of Minnesota]
  7. Server-Side Web Development Distributed Lectures: Here you’ll find a wide range of lectures that can help you learn to do everything from using PHP to examining data online. [Indiana U]
  8. HTML Basics: HTML is one of the oldest web programming languages and is essential to anyone who wants to engage in web development. [Open UW]
  9. Computer Science E-1: Understanding Computers and the Internet: From hardware to security, you’ll get the basics of it all here. [Harvard Extension School]
  10. People-centered Design: Learn to better design your webpages and programs to suit the needs and desires of your customers and users. [OpenLearn]
  11. Introduction to Software Engineering in Java: Learn to make the most of what Java has to offer by learning the basics from this course. [MIT]

Field Specific

You can learn more about how IT is applied in fields like health care and education through these courses.

  1. Medical Computing: This course offers an analysis of the computational needs of clinical medicine, and reviews systems and approaches that have been used to support those needs. [MIT]
  2. Medical Decision Support: Learn how your programs can play a role in the health care field through decision analysis, artificial intelligence and predictive model construction. [MIT]
  3. Control of Manufacturing Processes: This course will examine statistical modeling and control in manufacturing and the role computer systems can play. [MIT]
  4. Information Technology as an Integrating Force in Manufacturing: Learn more about topics like the Internet, hardware and operating systems, software development tools and processes, relational databases, security and cryptography, enterprise applications, B2B, the semantic web and electronic commerce in this online course. [MIT]
  5. Networks for Learning: This course combines theories about how the brain learns with computational topics like computer vision, computer graphics, and database search. [MIT]
  6. Biomedical Information Technology: Those interested in the role of IT in the medical field can learn more through this course. [MIT]
  7. Information and Communication Technology in Education: Find out how new technologies can be implemented in an educational setting here. [TWB]
  8. Information Technology in the Health Care System of the Future: Medical care is changing rapidly with new technology. Learn what the role of the CISS professional may be in this system. [MIT]
  9. Introduction to Computers in Public Management II: Students in this course will gain a basic understanding of computing in planning and public management through case studies and hypothetical situations. [MIT]
  10. Designing and Sustaining Technology Innovation for Global Health Practice: This course examines health care around the world and the ways technology is connecting and accelerating the quality of health care. [MIT]
  11. Engineering Biomedical Information: From Bioinformatics to Biosurveillance: Check out this course for information on technological advances in biomedical informatics and how they’re being used in both computer science and biomedical research. [MIT]

Business and Management

Many CISS professionals will be working in corporate or office settings. These courses will help you to build the necessary business and management skills.

  1. Applications of System Dynamics: This course examines how businesses and corporations can use system dynamics to achieve important goals. [MIT]
  2. Communicating in Technical Organizations: You may find yourself working in a largely technical organization with a degree in a computer related field. This course will help you to boost your communication skills and make the most of your role within the organization. [MIT]
  3. Generating Business Value from Information Technology: Get a look at the business side of information technology with this helpful course. [MIT]
  4. IT and Business Transformation: From examining the impact of IT on a business to learning ways to better manage IT, this course is great for managers and technicians alike. [MIT]
  5. Practical Information Technology Management: This course can help you understand how to make sound business decisions relating to information systems. [MIT]
  6. Advanced Managerial Communication: Give this course a try if you want to learn more about leadership, management and other important issues of working with employees. [MIT]
  7. People and Organizations: Here, you’ll learn about this history and the present situations in which scientists, engineers and other professionals work. [MIT]
  8. Operations Management: With topics focusing on project management and quality management, this course can be a great way to build up business skills. [MIT]
  9. Systems Optimization: Designed with both managers and engineers in mind, this course addresses ways that a system of any kind can be made more efficient. [MIT]
  10. Data, Models and Decisions: This course will help you use hard data to make informed business decisions. [MIT]
  11. Negotiation and Conflict Management: Within any organization there is bound to be conflict from time to time. This course will teach you how to effectively manage and work through these issues. [MIT]

Systems

Check out these courses to learn more about building and working with systems.

  1. Knowledge-Based Applications Systems: This course will address topics like technical issues encountered in building a system, AI techniques and current and future research in the field. [MIT]
  2. Principles of Computer Systems: Check out this course to learn the basics of how computer systems are put together. [MIT]
  3. Computer System Architecture: Ever wanted to know how a computer works and what part does what? This course will teach you about the process of actually building a computer. [MIT]
  4. Dynamic Systems and Control: Learn more about linear, discrete- and continuous-time, and multi-input-output systems in this course. [MIT]
  5. Introductory Digital Systems Laboratory: An interest in digital logic is necessary for this course that touches on flipflops, PALs, counters, timing and synchronization. [MIT]
  6. Integrating eSystems & Global Information Systems: This course addresses the interconnectivity of the various parts of a business and how each contributes to the success or failure of an enterprise. [MIT]
  7. Operating Systems and System Programming: Learn what it takes to program a basic operating system as well as gain skills in other programming applications as well. [UC Berkeley]
  8. Advanced System Architecture: This course is definitely not for the newbie and instead is geared towards those with extensive knowledge in engineering systems. [MIT]
  9. Computer and Computer Systems: This course offers an introductory look at how computers and their systems work. [OpenLearn]
  10. Introducing ICT Systems: Information and communications technologies, or ICTs, are discussed on a basic level in this course. [OpenLearn]
  11. Systems Design and Administration: Those interested in systems administration can take advantage of this free course that covers topics like computer hardware selection, user account management, file system optimization, and security.[College of Utah]
  12. Theory of Parallel Systems: Here you’ll find a comprehensive introduction to the theoretical basis of parallel computing systems. [MIT]
  13. System Identification: This course will teach you how to create mathematical models of systems, create a variety of models and many more practical skills. [MIT]
  14. Complex Digital Systems: Geared towards personal work, this course focuses on "designing multi-million-gate CMOS VLSI chips using high-level synthesis tools in conjunction with standard commercial EDA tools." [MIT]

Course Collections

These sites provide several helpful tutorials and courses designed to prepare students for a career in CISS.

  1. CISSP Essentials Training: Here you’ll find a security training program, taking you through every element of a secure network.
  2. Veridon Security Training: This site contains a collection of modules on topics like access control, cryptography and network security.

Did you enjoy this article?

AddThis Social Bookmark Button

Leave a Reply