EdX

Introduction to Computer Science and Programming (edX)

Introduction to Computer Science and Programming (edX)

The term “Computation” refers to the action performed by a computer. A computation can be a basic operation and it can also be a sophisticated computer simultation requiring a large amount of data and substantial resources. This course aims at introducing learners with no prior knowledge to basics and key concepts of computer science. By following the lectures and exercises of this course you will have an understanding of algorithms and you will get a real experience of programming using the language Ruby.

Class Deals by MOOC List - Click here and see EdX's Active Discounts, Deals, and Promo Codes.

Do you want to learn more about data and to get a basic programming experience? If yes, this is the right course for you to start!
“Big data”, “data science”, “data-mining” and “artificial intelligence” are all popular terms that are often encountered nowadays in the academic and in business worlds.
Computer Science is a field where the usage of computers and “computations” have continuously evolved. As computational power increases, computation becomes an indispensable tool for solving complex problems and making predictions. We are now able to “compute” various things from DNA sequencing to aerodynamics simulations and weather forecasting.
In this course, you will learn the essence of computer science. You will obtain an overview of cutting-edge computer science as well as learn the basics and introductory level knowledge of computer science, while experiencing, designing and writing your own simple programs. The video lectures in this course are delivered in English accompanied by English transcripts. This English version comprised of 5 units is the revised original Japanese course previously released with same topic.
We will start by learning more about the notion of computation and data and see how things work inside a computer. Before jumping into advanced topics like encryption and cryptanalysis, we will discover important notions like "arrays", "characters" and "strings" and we will know more about functions and subroutines throughout the lectures. Along the way we will practice with exercises to have a hands-on experience and deeper understanding of the explained notions. All exercises have files that can be downloaded and used. A detailed explanation about setting up the environment to run the programs using the language Ruby is provided at the beginning of the course.
By the end of this course you will be able to write your own programs for encryption and decryption of English texts. The course concludes with a general overview of the recent progress and research trends in the computer science field. This last part covers topics discussing the nature of computation as well as applications of computation in our modern society such as simulations, data mining and artificial intelligence AI.

What you'll learn
・What is data (corresponding to an atom of data)?
・What is a computation (the one that corresponds to the atom of the computation)?
・Basic information security: encryption, decryption, and crypto-breaking
・Private key cryptosystems and public key cryptosystems
・Representative examples of utilization of computations in present society (Computer simulation, Data mining)
・Installation of software and the programming environments (editor, shell)
・How to use the programming environments (editor, shell) for computations
・Basic programming using “Ruby on Rails,” a programming language

Syllabus

Introduction
Who is Professor Watanabe?
Introduction to Computer Science
Instructions for Users

Unit 1: What is Computation?
Learning Objectives
1.1 What is computation?
1.2 Data is Numbers
1.3 Inside the Computer
1.4 Programming with Ruby
1.5 Time to Practice 1
Quiz 1

Unit 2: What is Programming? (Part 1) Arrays
Learning Objectives
2.1 Arrays, Basic Concepts
2.2 How to Use arrays
2.3 Time to Practice 2
Quiz 2

Unit 3: What is Programming? (Part 2) Characters and Strings
Learning Objectives
3.1 Characters and Strings
3.2 Caesar Encryption
3.3 Time to Practice3
Quiz 3

Unit 4: What is Programming? (Part 3) Functions and Subroutines
4.1 Functions and Subroutines
4.2 Cryptanalysis
4.3 Time to Practice 4
4.4 Modern Encryption
Quiz 4

Unit 5: Summary and Appendix (Introduction to Research on Computation)
Learning Objectives
5.1 Brief Summary of this course
5.2 Appendix 1.1: On the Nature of Computation, Computability
5.3 Appendix 1.2: On the Nature of Computation, P ≠ NP Conjecture
5.4 Appendix 2.1: Applications of Computation, Simulation
5.5 Appendix 2.2: Applications of Computation, Data Mining
5.6 Appendix 2.3: Applications of Computation, AI (Artificial Intelligence)
Quiz 5

Go to Class
MOOC List is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Related Courses

HTML5 Apps and Games (edX) EdX
World Wide Web Consortium - W3C,W3Cx

HTML5 Apps and Games (edX)

Today, developers are increasingly moving from native to HTML5-based apps. Increase your ability to design and deliver innovative services on the Web! Want to learn advanced HTML5 tips and techniques? This is the course for you! Find out more about the powerful Web features that will help you create great content and apps.

Self Paced
Self-Paced
JavaScript Introduction (edX) EdX
World Wide Web Consortium - W3C,W3Cx

JavaScript Introduction (edX)

Learn JavaScript, a Web development programming language, to add interactivity to your Web pages, and become an expert Web developer. This computer science course is an initiation to JavaScript programming and has been designed to help Web developers have an understanding of the basic concepts of the language. This course was developed in partnership between W3C and University Côte d'Azur.

Self Paced
Self-Paced
Data Science: R Basics (edX) EdX
HarvardX,Harvard University

Data Science: R Basics (edX)

Build a foundation in R and learn how to wrangle, analyze, and visualize data. This course will introduce you to the basics of R programming. You can better retain R when you learn it to solve a specific problem, so you’ll use a real-world dataset about crime in the United States. You will learn the R skills needed to answer essential questions about differences in crime across the different states.

Self Paced
Self-Paced
High-Dimensional Data Analysis (edX) EdX
HarvardX,Harvard University

High-Dimensional Data Analysis (edX)

A focus on several techniques that are widely used in the analysis of high-dimensional data. If you’re interested in data analysis and interpretation, then this is the data science course for you. We start by learning the mathematical definition of distance and use this to motivate the use of the singular value decomposition (SVD) for dimension reduction and multi-dimensional scaling and its connection to principle component analysis.

Self Paced
Self-Paced
HTML5 Coding Essentials and Best Practices (edX) EdX
World Wide Web Consortium - W3C,W3Cx

HTML5 Coding Essentials and Best Practices (edX)

Learn how to write Web pages and Web sites by mastering HTML5 coding techniques and best practices. HTML5 is the standard language of the Web, developed by W3C. For application developers and industry, HTML5 represents a set of features that people will be able to rely on for years to come. HTML5 is supported on a wide variety of devices, lowering the cost of creating rich applications to reach users everywhere.

Self Paced
Self-Paced
Data Science: Wrangling (edX) EdX
HarvardX,Harvard University

Data Science: Wrangling (edX)

Learn to process and convert raw data into formats needed for analysis. In this course, we cover several standard steps of the data wrangling process like importing data into R, tidying data, string processing, HTML parsing, working with dates and times, and text mining. Rarely are all these wrangling steps necessary in a single analysis, but a data scientist will likely face them all at some point.

Self Paced
Self-Paced
Data Science Ethics (edX) EdX
University of Michigan,MichiganX

Data Science Ethics (edX)

Learn how to think through the ethics surrounding privacy, data sharing, and algorithmic decision-making. As patients, we care about the privacy of our medical record; but as patients, we also wish to benefit from the analysis of data in medical records. As citizens, we want a fair trial before being punished for a crime; but as citizens, we want to stop terrorists before they attack us. As decision-makers, we value the advice we get from data-driven algorithms; but as decision-makers, we also worry about unintended bias.

Self Paced
Self-Paced
How to Code: Complex Data (edX) EdX
The University of British Columbia,UBCx

How to Code: Complex Data (edX)

Learn how to design more complex programs, using new data structures, abstraction, and generative recursion. As your program requirements get more complex, you will find that simple additions to the design method make it easy to write well-structured and well-tested code that is easy to maintain. By learning how to capture common data and control structures using abstraction, your programs will get shorter and better tested.

Self Paced
Self-Paced
IoT System Design: Software and Hardware Integration (edX) EdX
Waseda University,WasedaX

IoT System Design: Software and Hardware Integration (edX)

Start developing your own Internet of Things (IoT) system with this exploration of the interaction between software and hardware. This course is designed to teach you how systems are developed using IoT technology. Many engineers and developers tend to focus on a single discipline - either software or hardware. However, in today’s connected age it's critical to have a comprehensive understanding of both disciplines and how they are intertwined.

Self Paced
Self-Paced
Herramientas de la Inteligencia de Negocios (edX) EdX
Galileo University,GalileoX

Herramientas de la Inteligencia de Negocios (edX)

Aprende el proceso de extraer y transformar data para generar insumos y tomar decisiones. Usa software, herramientas y sistemas de apoyo. Con este curso aprenderas a tomar decisiones empresariales exitosas. Para ello, aprenderas el proceso completo desde extraer data, hasta su integracion, visualizacion, depuracion, analisis y uso. Podr as transformar data cruda en insumos para la toma de decisiones. Dominaras el uso de software, herramientas y sistemas de apoyo.

Self Paced
Self-Paced