Introduction to Computer Science and Programming

  • by admin
  • Course level: Intermediate
  • Categories STEM
  • Total Hour 22h 30m
  • Total Enrolled 0
  • Last Update October 4, 2019

About Course

This subject is aimed at students with little or no programming experience. It aims to provide students with an understanding of the role computation can play in solving problems. It also aims to help students, regardless of their major, to feel justifiably confident of their ability to write small programs that allow them to accomplish useful goals. The class will use the Python programming language.


John Guttag. 6.00SC Introduction to Computer Science and Programming. Spring 2011. Massachusetts Institute of Technology: MIT OpenCourseWare, https://ocw.mit.edu. License: Creative Commons BY-NC-SA.

This course has been designed for independent study. It provides everything you will need to understand the concepts covered in the course. The materials include:

  • A complete set of Lecture Videos by Prof. Guttag.
  • Resources for each lecture video, such as Handouts, Slides, and Code Files.
  • Recitation Videos by course TA’s to review content and problem solving techniques.
  • Homework problems with sample student solutions.
  • Further Study collections of links to supplemental online content.
  • Self-Assessment tools, including lecture questions with answers and unit quizzes with solutions, to assess your subject mastery.

In this course, we will use the Python programming language. You’ll also need an editor and/or development environment for writing and debugging your programs. In this course, we will be using IDLE, a programming environment specially designed for Python programming and included with the Python distribution. These programs are available for installation on your personal computers (see below).

Why Python?

A programming language is the tool we use to construct a sequence of instructions that will tell the computer what we want it to do. There are hundreds of programming languages in the world. Over the course of my career, I’ve taught programming classes using at least six different languages.

There is no best language (though I could nominate some candidates for worst). Different languages are better or worse for different kinds of applications. MATLAB, for example, is a great language for manipulating vectors and matrices. C is a good language for writing the programs that control data networks.

In this course, we will use Python. Python is a relatively recent addition to the universe of languages, and is still growing in popularity. I want to emphasize that this course is not about Python. You will certainly learn Python, and that’s a good thing. What is much more important, however, is that you will learn how to write programs that solve problems, given a set of basic primitives, and ways of combining them into more complex elements, that you can then abstract into primitives. This skill can be transferred to many languages.


Setting Up Python

You can install the 6.00 software on your personal computer if your operating system is GNU/Linux, Windows (7/XP), or MacOS X. For Windows, you will need Python version 2.5.4, while for OS X you’ll need Python 2.7.11 (any 2.5.x, 2.6.x, or 2.7.x version of Python will work, but 3.0 versions are NOT compatible). Below are direct links to the most common Python installers:

Download and install: Windows Installer

Mac OS X:
For OS X Yosemite and earlier, download and install: Mac Installer. For OS X El Capitan and later, download and install Anaconda with Python 2.7 for OS X. Anaconda comes with numpy and matplotlib preinstalled, along with many other python libraries, so you may ignore the installation instructions for those libraries in Pset 6.

Warning: On the Python homepage, the latest version available for download is actually 3.5. Do not install this! This version is not backwards compatible with the code that you’ll be writing in this course (for example, you have to type print(“test”) instead of print “test”). Instead, be sure to download the version listed above.


Using IDLE

IDLE is the standard Python development environment. Its name is an acronym of “Integrated DeveLopment Environment”. It works well on both Unix and Windows platforms.

It has a Python shell window, which gives you access to the Python interactive mode. It also has a file editor that lets you create and edit existing Python source files.

During the following discussion of IDLE’s features, instead of passively reading along, you should start IDLE and try to replicate the actions.

You can type Python code directly into this shell, at the ‘>>>’ prompt. Whenever you enter a complete code fragment, it will be executed. For instance, typing:

>>> print “hello world”
and pressing Enter will cause the following to be displayed:

hello world

IDLE can also be used as a calculator:

>>> 4+4

Addition, subtraction, and multiplication operators are built into the Python language. This means you can use them right away. If you want to use a square root in your calculation, you need to import the math module. Do not worry about what it means right now; we will cover this later during the course. Below is an example of square root calculation:

>>> import math
>>> math.sqrt(16)

Math module allows you to do a number of useful operations:

>>> import math
>>> math.pow(3, 2)
>>> math.cos( 0 )

Note that you only need to execute the import command once after you start IDLE.


For additional practice, try using IDLE to calculate:

  1. 23.0 to the 5th power
  2. Positive root of the following equation:
    34*x^2 + 68*x – 510
    a*x^2 + b*x + c
    x1 = ( – b + sqrt ( b*b – 4*a*c ) ) / ( 2*a )


What Will I Learn?

  • Help students (who may or may not intend to major in computer science) to feel justifiably confident of their ability to write small programs.
  • Map scientific problems into computational frameworks.
  • Position students so that they can compete for jobs by providing competence and confidence in computational problem solving.
  • Prepare college freshmen and sophomores who have no prior programming experience or knowledge of computer science for an easier entry into computer science or electrical engineering majors.
  • Prepare students from other majors to make profitable use of computational methods in their chosen field.

Topics for this course

8 Lessons22h 30m


Lecture 1: Introduction41:27:00
Draft Lesson
Check Yourself
Lecture 2: Core Elements of a Program49:49:00
Check Yourself
Problem Set 0
Lecture 3: Problem Solving47:56:00
Check Yourself
Lecture 4: Machine Interpretation of a Program50:17:00
Check Yourself
Problem Set 1: Paying Off Credit Card Debt (Due)
Lecture 5: Objects in Python50:59:00

About the instructors


Educom World Course Advisors

Hello there! Nice to meet you. We make amazing courses and programs available to you with the required permissions from authors, universities and educational partners.  Feel free to learn from carefully selected programs that will earn you important skills faster. All the best in your studies!
4.57 (7 ratings)

8 Courses

0 students


Material Includes

  • On-demand videos
  • Downloadable resources
  • Full lifetime access
  • Access on mobile and TV


  • This course is aimed at students with little or no prior programming experience but a desire to understand computational approaches to problem solving. Now, by definition, none of you are under-qualified for this course. In terms of being over-qualified — if you have a lot of prior programming experience, we really don't want you wasting your time, and in this case we would suggest that you talk to me about how well this class suits your needs, and to discuss other options. In addition, we want to maintain a productive educational environment, and thus we don't want over-qualified students making other students feel inadequate, when in fact they are only inexperienced.
  • Since computer programming involves computational modes of thinking, it will help to have some mathematical and logical aptitude. You should be confident with your math skills up to pre-calculus.
  • Since one of the goals of this course is to become familiar with programming, you will need to install and use the Python programming language and the interpreter IDLE

Target Audience

  • Course is designed to help you become skillful at making the computer do what you want it to do. Once you acquire this skill, your first instinct when confronted with many tasks will be to write a program to do the task for you. Said another way, we want to help you learn to apply computational modes of thought to frame problems, and to guide the process of deducing information in a computational manner.

Verizon CEO, Hans Vestberg Engages Our CEO, Emmanuel Nyame

contact us

Educational Communities Worldwide Inc.

P.O. Box 391 – Bloomington, IN. U.S.A.

Enquiry: info@educom.world

Mobile: +1 (812) 269-2865