In this project-centered course you will build a modern software hierarchy, designed to enable the translation and execution of object-based, high-level languages on a bare-bone computer hardware platform. In particular, you will implement a virtual machine and a compiler for a simple, Java-like programming language, and you will develop a basic operating system that closes gaps between the high-level language and the underlying hardware platform.
Learn key computer science topics to better teach your students and prepare for the Praxis & TExES Computer Science certification test. Thinking about teaching Computer Science, or incorporating CS into a subject you already teach? CS skills are fundamental to student success and you can teach it! This course is intended for prospective K-12 Computer Science teachers to review key topics in Technology Applications, Programming Languages and CS special topics.
In this course, we will study security and trust from the hardware perspective. Upon completing the course, students will understand the vulnerabilities in current digital system design flow and the physical attacks to these systems. They will learn that security starts from hardware design and be familiar with the tools and skills to build secure and trusted hardware.
This two-part course builds upon the programming skills that you learned in our Introduction to Interactive Programming in Python course. We will augment those skills with both important programming practices and critical mathematical problem solving skills. These skills underlie larger scale computational problem solving and programming.
Bem vindo ao curso de Introdução à Ciência da Computação destinado aos alunos regulares da Universidade de São Paulo e a todos os demais interessados em aprender não só a programar em Python mas também os conceitos básicos da Ciência Computação!
This two-part course introduces the basic mathematical and programming principles that underlie much of Computer Science. Understanding these principles is crucial to the process of creating efficient and well-structured solutions for computational problems. To get hands-on experience working with these concepts, we will use the Python programming language.
This course will introduce you to the foundations of modern cryptography, with an eye toward practical applications.
This course is an introduction to type theory, homotopy type theory (HoTT), dependent-type programming, type-level programming, and theorem proving using Scala.
With a full tuition under $20K, the University of Illinois Master of Computer Science - Data Science (MCS-DS) is the most affordable gateway to one of the most lucrative and fastest growing careers of the new millennium. The MCS-DS builds expertise in four core areas of computer science: data visualization, machine learning, data mining and cloud computing, in addition to building valuable skill sets in statistics and information science with courses taught in collaboration with the University’s Statistics Department and ISchool (ranked #1 among Library and Information Studies Schools.)
This interactive textbook was written with the intention of teaching Computer Science students about various data structures as well as the applications in which each data structure would be appropriate to use.
This course is an introduction to using computation to understand real-world phenomena. This course will teach you how to use computation to accomplish a variety of goals and provides you with a brief introduction to a variety of topics in computational problem solving. This course is aimed at students with some prior programming experience in Python and a rudimentary knowledge of computational complexity.
Learn how to turn a processor into an entire computer system in this interactive computer science course from MIT. Digital systems are at the heart of the information age in which we live, allowing us to store, communicate and manipulate information quickly and reliably. This computer science course is a bottom-up exploration of the abstractions, principles, and techniques used in the design of digital and computer systems. If you have a rudimentary knowledge of electricity and some exposure to programming, roll up your sleeves, join in and design a computer system!
Learn advanced object-oriented programming strategies in Java and prepare for the AP Computer Science A exam. This computer science course covers advanced OOP strategies, including polymorphism, abstract classes, super keyword, exceptions, generics, sorting and searching algorithms.
A new and updated introduction to computer science as a tool to solve real-world analytical problems using Python 3.5. This course is the first of a two-course sequence: Introduction to Computer Science and Programming Using Python, and Introduction to Computational Thinking and Data Science. Together, they are designed to help people with no prior exposure to computer science or programming learn to think computationally and write programs to tackle useful problems.
Welcome to the class: we are very excited that you are interested in learning more about the foundations of life. In this openHPI course, we will give an introduction about components of human cells and their functions. We dive into the cell core to explore the Deoxyribonucleic Acid (DNA), its structure, and how it stores the code of life.