К содержимому
learnspaceYOUR NEXT CHAPTER
ПРОСТРАНСТВО ОБУЧЕНИЯ
ГлавнаяКаталог курсовМоё обучениеCoursera

Знания без границ

Учитесь у лучших университетов и компаний мира.

Открыть Coursera
Интеграция
Пространство университета
Моё пространствоСтраница курса
↵
ЯЛичный кабинетСтудент
© 2026 LearnSpaceКаждый день — возможность узнать больше.Помощь
Principles of Computing (Part 1) · LearnSpace
Назад в каталог
courseraПрограммирование

Principles of Computing (Part 1)

Курс от Rice University
Средний≈ 18.7 чАнглийский
О курсеНавыкиПрограммаПреподаватели

О курсе

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.

Навыки, которые вы освоите

CombinatoricsProbabilityPython ProgrammingComputational ThinkingDevelopment TestingApplied MathematicsGeneral MathematicsSoftware TestingGame DesignAlgorithmsProgramming PrinciplesComputer ProgrammingObject Oriented Programming (OOP)

Программа курса

5 модулей · 75 учебных материалов

01Required Python knowledge, coding standards, and machine grading22 материалов

Week 1 Core Materials

Principles of Computing ВидеоIntroductionВидеоRequired Python KnowledgeВидеоRequired Python KnowledgeЧтение

Учитесь у экспертов

Scott Rixner

Professor

Joe Warren

Professor

Luay Nakhleh

Associate Professor

Principles of Computing (Part 1)
В каталоге вашей программы

Инвестируйте в себя

Новые знания — в удобное для вас время.

Начать на Coursera

Обучение откроется на Coursera
в новой вкладке

Обучение на Coursera

≈ 18.7 ч

5 модулей

Язык: Английский

Субтитры: Арабский, Французский, Бенгальский, Узбекский, Украинский, Китайский (Китай), Греческий, Итальянский, Бразильский португальский, Вьетнамский, Нидерландский, Корейский, Немецкий, Пушту, Урду, Русский, Тайский, Индонезийский, Шведский, Турецкий, Азербайджанский, Испанский, Дари, Хинди, Японский, Казахский, Венгерский, Польский

Часть программы вашего университета
Coding Style and StandardsВидео
Guidelines for Coding StyleЧтение
Python ModulesВидео
Importing Custom Modules in PythonЧтение
Machine GradingВидео
Homework 1Задание

Mini-Project #1 - 2048 (Merge)Mini-Project #1 - 2048 (Merge)

Mini-project VideoВидеоMini-project DescriptionЧтение2048ЧтениеAssignment: 2048 (Merge)Внешний инструментAssignment Submission HistoryВнешний инструмент

Week 1 Supplemental Materials (optional)

Math Expressions for HomeworkЧтениеMath Notes on FunctionsЧтениеPractice Mini-project - Solitaire MancalaЧтение

Optional pre-class material (watch if you have not taken IIPP)

CodeSkulptorВидеоSaving in CodeSkulptorВидеоBeyond CodeSkulptor (15:12) (optional video)ВидеоPython Development EnvironmentsЧтение
02Testing, plotting, and grids11 материалов

Week 2 Core Materials

The Importance of Testing ВидеоTestingВидеоBuilding Tests for Python ProgramsЧтениеPlottingВидеоGridsВидеоHomework 2Задание

Mini-project #2 - 2048 (Full)

Mini-project VideoВидеоMini-project DescriptionЧтениеAssignment: 2048 (Full)Внешний инструмент

Week 2 Supplemental Materials (optional)

Math Notes on Grid RepresentationsЧтениеPractice Activity - Testing Solitaire MancalaЧтение
03Probability, randomness, and objects/references14 материалов

Week 3 Core Materials

The Importance of Probability ВидеоBasics of ProbabilityВидеоExpected Value ВидеоMonte Carlo MethodsВидеоObjects and References ВидеоHomework 3Задание

Mini-project #3 - Tic-Tac-Toe (Monte Carlo)

Mini-project VideoВидеоMini-project DescriptionЧтениеTTTBoard ClassЧтениеAssignment: Tic-Tac-Toe (Monte Carlo)Внешний инструмент

Week 3 Supplemental Materials (optional)

Math Notes on Basic ProbabilityЧтениеMath Notes on Expected ValueЧтениеPractice Mini-project - Nim (Monte Carlo)ЧтениеPractice Activity - The Monty Hall ProblemЧтение
04Combinatorics, generators, and debugging13 материалов

Week 4 Core

The Importance of Combinatorics ВидеоEnumerationВидеоPermutations and CombinationsВидеоCombinatorics and Password Breaking ВидеоDebuggingВидеоHomework 4Задание

Mini-project #4 - Yahtzee

Mini-project VideoВидеоMini-project DescriptionЧтениеAssignment: YahtzeeВнешний инструмент

Week 4 Supplemental Materials (optional)

Math Notes on EnumerationЧтениеMath Notes on Permutations and CombinationsЧтениеPractice Activity - Analyzing a Simple Dice GameЧтениеPractice Activity - Counting Game StatesЧтение
05Counting, growth of functions, higher-order functions15 материалов

Week 5 Core Materials

The Importance of Counting ВидеоCounting and SumsВидеоFunctions: Finding the Max ВидеоHigher-order Functions ВидеоPlotting Statement CountsВидеоHomework 5 Задание

Mini-project #5 - Cookie Clicker

Mini-project VideoВидеоMini-project DescriptionЧтениеBuildInfo ClassЧтениеAssignment: Cookie ClickerВнешний инструмент

Week 5 Supplemental Materials (optional)

Math Notes on Arithmetic SumsЧтениеMath Notes on Logarithms and ExponentialsЧтениеMath Notes on Growth Rates of FunctionsЧтениеPractice Activity - Modeling the Growth of FunctionsЧтениеPractice Activity - The Case of the Greedy BossЧтение