4.8
239 ratings
35 reviews

#### 100% online

Start instantly and learn at your own schedule.

#### Approx. 19 hours to complete

Suggested: 4 weeks of study, 7-10 hours/week...

#### English

Subtitles: English, Romanian

### Skills you will gain

RecursionAlgorithmsPython ProgrammingTree (Data Structure)

#### 100% online

Start instantly and learn at your own schedule.

#### Approx. 19 hours to complete

Suggested: 4 weeks of study, 7-10 hours/week...

#### English

Subtitles: English, Romanian

### Syllabus - What you will learn from this course

Week
1
5 hours to complete

## Searching and Data Structures

This week, we will explain the importance of searching. We will also explore various data structures and learn about inheritance....
11 videos (Total 104 min), 6 readings, 3 quizzes
11 videos
The Importance of Searching 2m
Generators7m
Stacks and Queues 9m
Inheritance 13m
Grid Class12m
Grid search9m
Mini-project Video9m
CodeSkulptor (optional video from our previous class)11m
Saving in CodeSkulptor (optional video from our previous class)9m
Beyond CodeSkulptor (optional video from our previous class)15m
Mini-project Description10m
Math Notes on Growth Rates of Functions10m
Math Notes on Grid Representations10m
Practice Activity - Sorting strings10m
Practice Activity - Working with Distance Fields10m
1 practice exercise
Homework 120m
Week
2
3 hours to complete

## Recursion

This week, we will explain the importance of recursion....
7 videos (Total 79 min), 5 readings, 2 quizzes
7 videos
Recursion 14m
Binary Search 14m
Visualizing Recursion 11m
Recurrences12m
Mini-project Video13m
Mini-project Description10m
Math Notes on Recurrence Relations10m
Practice Activity - Recursion10m
Practice Activity - Binary representations for numbers10m
Practice Activity - Visualizing recurrences10m
1 practice exercise
Homework 220m
Week
3
3 hours to complete

## Trees

This week, we will explain the importance of trees. We will also explore how to set up game trees so that we can efficiently search them....
6 videos (Total 51 min), 6 readings, 2 quizzes
6 videos
Lambda 6m
Trees12m
Illustration of Trees 7m
Minimax10m
Mini-project Video11m
Mini-project Description10m
TTTBoard Class10m
Math Notes on Trees10m
Math Notes on Minimax10m
Practice Activity - Nim (Tree search)10m
Practice Activity - Drawing trees10m
1 practice exercise
Homework 320m
Week
4
3 hours to complete

## Modeling, Assertions, and Invariants

This week, we will explain the importance of modeling. We will also explore how to use assertions and invariants to ensure that our models are always consistent and correct....
7 videos (Total 71 min), 4 readings, 2 quizzes
7 videos
Assertions 7m
Invariants13m
Modeling 11m
Software Development 14m
Mini-project Video11m
What is Algorithmic Thinking? 9m
The Basics of the Fifteen Puzzle10m
Mini-project Description10m
Math Notes on Invariants10m
Practice Activity - Solitaire Tantrix10m
1 practice exercise
Homework 420m
4.8
35 Reviews

## 83%

got a tangible career benefit from this course

## 25%

got a pay increase or promotion

### Top Reviews

By IBJun 12th 2017

Phew, this course was much harder than the preceding courses. Some assignments took many hours of work over several days. But it's doable, and well worth it.

By AMJan 13th 2017

If I wanted to learn programming from scratch, I'd take this specialization. They are great teachers and the recursion section was extremely helpful.

## Instructors

Professor
Computer Science

Professor
Computer Science

### Luay Nakhleh

Associate Professor
Computer Science; Biochemistry and Cell Biology

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....

## About the Fundamentals of Computing Specialization

This Specialization covers much of the material that first-year Computer Science students take at Rice University. Students learn sophisticated programming skills in Python from the ground up and apply these skills in building more than 20 fun projects. The Specialization concludes with a Capstone exam that allows the students to demonstrate the range of knowledge that they have acquired in the Specialization....