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

Data Science: Probability (edX) EdX
HarvardX,Harvard University

Data Science: Probability (edX)

Learn probability theory — essential for a data scientist — using a case study on the financial crisis of 2007–2008. In this course, you will learn valuable concepts in probability theory. The motivation for this course is the circumstances surrounding the financial crisis of 2007–2008. Part of what caused this financial crisis was that the risk of some securities sold by financial institutions was underestimated. To begin to understand this very complicated event, we need to understand the basics of probability.

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

How to Code: Simple Data (edX)

Learn systematic program design - how to write programs that tell a clear story about what they do, are well-tested, and easy to improve. This programming course takes a unique approach, as it focuses on learning a systematic programming method rather than a programming language. This practical approach will help you channel your creativity so that you can program well in any language.

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
Introduction to Java Programming: Starting to code in Java (edX) EdX
Universidad Carlos III de Madrid - UC3M,UC3Mx

Introduction to Java Programming: Starting to code in Java (edX)

Learn to program with Java in an easy and interactive way! In this introductory Java programming course, you will be introduced to powerful concepts such as functional abstraction, the object oriented programming (OOP) paradigm and Application Programming Interfaces (APIs). Examples and case studies will be provided so that you can implement simple programs on your own or collaborate with peers.

Self Paced
Self-Paced
Laboratorio di Programmazione (edX) EdX
University of Naples Federico II,FedericaX

Laboratorio di Programmazione (edX)

Impara a risolvere problemi complessi attraverso l'uso del computer e avvicinati alla magia degli algoritmi. Il linguaggio di programmazione è uno degli strumenti che abbiamo per interpretare e risolvere i problemi di tutti i giorni. Un linguaggio che è alla base di problemi comuni, come le previsioni del tempo o l'analisi della deformazione di una struttura di un'auto in un incidente stradale.

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
Introducción a la programación en C: Tipos de datos y estructuras (edX) EdX
Universidad Autonoma de Madrid

Introducción a la programación en C: Tipos de datos y estructuras (edX)

Aprende a programar en C, uno de los lenguajes de programación más usados. En este curso en línea adquirirás los conocimientos necesarios para comenzar a convertirte en un experto en C. Este curso en línea te permitirá aprender los conceptos básicos que te ayudarán a desarrollar las habilidades de programación necesarias para iniciarte en el lenguaje C.

Self Paced
Self-Paced
Introduction to Data Science (edX) EdX
IBM

Introduction to Data Science (edX)

Learn about the world of data science first-hand from real data scientists. The art of uncovering the insights and trends in data has been around for centuries. The ancient Egyptians applied census data to increase efficiency in tax collection and they accurately predicted the flooding of the Nile river every year.

Self Paced
Self-Paced
Data Structures and Algorithm Design Part I | 数据结构与算法设计(上) (edX) EdX
Tsinghua University,TsinghuaX

Data Structures and Algorithm Design Part I | 数据结构与算法设计(上) (edX)

Learn the basics of data structures and methods to design algorithms and analyze their performance. 本课程旨在围绕各类数据结构的设计与实现,揭示其中的规律原理与方法技巧;同时针对算法设计及其性能分析,使学生了解并掌握主要的套路与手段。

Self Paced
Self-Paced