About this Specialization
100% online courses

100% online courses

Start instantly and learn at your own schedule.
Flexible Schedule

Flexible Schedule

Set and maintain flexible deadlines.
Beginner Level

Beginner Level

Hours to complete

Approx. 8 months to complete

Suggested 5 hours/week
Available languages

English

Subtitles: English, Chinese (Simplified), Italian, Portuguese (Brazilian), Korean, Spanish, Turkish, Romanian, Greek...

Skills you will gain

RecursionAlgorithmsPython ProgrammingDynamic Programming
100% online courses

100% online courses

Start instantly and learn at your own schedule.
Flexible Schedule

Flexible Schedule

Set and maintain flexible deadlines.
Beginner Level

Beginner Level

Hours to complete

Approx. 8 months to complete

Suggested 5 hours/week
Available languages

English

Subtitles: English, Chinese (Simplified), Italian, Portuguese (Brazilian), Korean, Spanish, Turkish, Romanian, Greek...

How the Specialization Works

Take Courses

A Coursera Specialization is a series of courses that helps you master a skill. To begin, enroll in the Specialization directly, or review its courses and choose the one you'd like to start with. When you subscribe to a course that is part of a Specialization, you’re automatically subscribed to the full Specialization. It’s okay to complete just one course — you can pause your learning or end your subscription at any time. Visit your learner dashboard to track your course enrollments and your progress.

Hands-on Project

Every Specialization includes a hands-on project. You'll need to successfully finish the project(s) to complete the Specialization and earn your certificate. If the Specialization includes a separate course for the hands-on project, you'll need to finish each of the other courses before you can start it.

Earn a Certificate

When you finish every course and complete the hands-on project, you'll earn a Certificate that you can share with prospective employers and your professional network.

how it works

There are 7 Courses in this Specialization

Course1

An Introduction to Interactive Programming in Python (Part 1)

4.8
1,921 ratings
583 reviews
This two-part course is designed to help students with very little or no computing background learn the basics of building simple interactive applications. Our language of choice, Python, is an easy-to learn, high-level computer language that is used in many of the computational courses offered on Coursera. To make learning Python easy, we have developed a new browser-based programming environment that makes developing interactive applications in Python simple. These applications will involve windows whose contents are graphical and respond to buttons, the keyboard and the mouse. In part 1 of this course, we will introduce the basic elements of programming (such as expressions, conditionals, and functions) and then use these elements to create simple interactive applications such as a digital stopwatch. Part 1 of this class will culminate in building a version of the classic arcade game "Pong"....
Course2

An Introduction to Interactive Programming in Python (Part 2)

4.9
747 ratings
190 reviews
This two-part course is designed to help students with very little or no computing background learn the basics of building simple interactive applications. Our language of choice, Python, is an easy-to learn, high-level computer language that is used in many of the computational courses offered on Coursera. To make learning Python easy, we have developed a new browser-based programming environment that makes developing interactive applications in Python simple. These applications will involve windows whose contents are graphical and respond to buttons, the keyboard and the mouse. In part 2 of this course, we will introduce more elements of programming (such as list, dictionaries, and loops) and then use these elements to create games such as Blackjack. Part 1 of this class will culminate in building a version of the classic arcade game "Asteroids". Upon completing this course, you will be able to write small, but interesting Python programs. The next course in the specialization will begin to introduce a more principled approach to writing programs and solving computational problems that will allow you to write larger and more complex programs....
Course3

Principles of Computing (Part 1)

4.8
375 ratings
64 reviews
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. The main focus of the class will be programming weekly mini-projects in Python that build upon the mathematical and programming principles that are taught in the class. To keep the class fun and engaging, many of the projects will involve working with strategy-based games. In part 1 of this course, the programming aspect of the class will focus on coding standards and testing. The mathematical portion of the class will focus on probability, combinatorics, and counting with an eye towards practical applications of these concepts in Computer Science. Recommended Background - Students should be comfortable writing small (100+ line) programs in Python using constructs such as lists, dictionaries and classes and also have a high-school math background that includes algebra and pre-calculus....
Course4

Principles of Computing (Part 2)

4.8
239 ratings
35 reviews
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. The main focus of the class will be weekly mini-projects that build upon the mathematical and programming principles that are taught in the class. To keep the class fun and engaging, many of the projects will involve working with strategy-based games. In part 2 of this course, the programming portion of the class will focus on concepts such as recursion, assertions, and invariants. The mathematical portion of the class will focus on searching, sorting, and recursive data structures. Upon completing this course, you will have a solid foundation in the principles of computation and programming. This will prepare you for the next course in the specialization, which will begin to introduce a structured approach to developing and analyzing algorithms. Developing such algorithmic thinking skills will be critical to writing large scale software and solving real world computational problems....

Instructors

Avatar

Luay Nakhleh

Associate Professor
Computer Science; Biochemistry and Cell Biology
Avatar

Joe Warren

Professor
Computer Science
Avatar

Scott Rixner

Professor
Computer Science
Avatar

John Greiner

Lecturer
Department of Computer Science
Avatar

Stephen Wong

Lecturer
Computer Science

About Rice University

Rice University is consistently ranked among the top 20 universities in the U.S. and the top 100 in the world. Rice has highly respected schools of Architecture, Business, Continuing Studies, Engineering, Humanities, Music, Natural Sciences and Social Sciences and is home to the Baker Institute for Public Policy....

Frequently Asked Questions

  • Yes! To get started, click the course card that interests you and enroll. You can enroll and complete the course to earn a shareable certificate, or you can audit it to view the course materials for free. When you subscribe to a course that is part of a Specialization, you’re automatically subscribed to the full Specialization. Visit your learner dashboard to track your progress.

  • This course is completely online, so there’s no need to show up to a classroom in person. You can access your lectures, readings and assignments anytime and anywhere via the web or your mobile device.

  • This Specialization doesn't carry university credit, but some universities may choose to accept Specialization Certificates for credit. Check with your institution to learn more.

  • The Specialization is designed to be completed in 6-9 months.

  • Knowledge of high school mathematics is required. No previous programming knowledge is required.

  • We strongly encourage students to take the courses in the Specialization in the listed order. Each class builds on the previous classes.

  • You will be able to analyze a range of interesting application problems and write moderate-size Python programs (300-500 lines) that solve these problems.

  • This Specialization is based on the freshman Computer Science curriculum at one of the top-ranked universities in the world. The material is designed to be fun and challenging while helping you gain the skills necessary to be successful in advanced Computer Science classes.

More questions? Visit the Learner Help Center.