Skip to content

This repository contains 15+ projects for Rice University's 7-course Fundamentals of Computing specialization, which covers much of the material that first-year CS students learn at Rice University.

Notifications You must be signed in to change notification settings

kyleyasumiishi/Fundamentals_of_Computing

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Fundamentals of Computing

This GitHub repository contains my mini projects for Rice University's Fundamentals of Computing specialization on Coursera, which are listed below. Please also check out my website about this course Learning Programming with Fundamentals of Computing!

This seven-course specialization covers much of the material that first-year computer science students learn at Rice University. Throughout the specialization, students build over 20 projects and learn programming skills and computer science concepts using the Python programming language. Here are some of the concepts covered in this comprehensive computer science specialization:

  1. Introduction to Interactive Programming in Python: This two-part course introduces the basic elements of programming. Topics covered include:
    • Statements, expressions, variables
    • Functions, logic, conditionals
    • Event-driven programming, local/global variables
    • Lists, dictionaries, sets
    • Classes and object-oriented programming
    • Debugging and visualization
    • Creating interactive applications in Python
  2. Principles of Computing: This two-part course builds upon the programming skills learned in Introduction to Interactive Programming in Python. It also introduces the basic mathematical and programming principles that underlie much of Computer Science. Specifically, it covers the following:
    • Coding style and standards
    • Testing
    • Plotting and grid representation
    • Probability and randomness
    • Combinatorics
    • Generators
    • Counting
    • Growth of functions
    • Higher-order functions
    • Data structures (stacks and queues)
    • Inheritance
    • Searching (DFS, BFS)
    • Recursion and reucrrence relations
    • Trees
    • Lambda functions
    • Assertions and invariants
  3. Algorithmic Thinking: This two-part course trains students in the mathematical concepts and process of algorithmic thinking, allowing them to build simpler, more efficient solutions to computational problems. Topics covered include:
    • Sorting
    • Searching
    • Graph Theory
    • Clustering
    • Big-O Notation
    • The Master Theorem
    • Closest pairs of points
    • Dynamic Programming

List of Mini Projects

  • Rock-paper-scissors-lizard-Spock
  • Guess the Number!
  • Stopwatch: The Game
  • Pong
  • Memory
  • Blackjack
  • Spaceship
  • RiceRocks (clone of classic arcade game Asteroids)
  • 2048 (Merge)
  • 2048 (Full)
  • Tic-Tac-Toe (Monte Carlo)
  • Yahtzee
  • Cookie Clicker
  • Zombie Apocalypse
  • Word Wrangler
  • Tic-Tac-Toe (Minimax)
  • The Fifteen Puzzle
  • Degree Distributions for Graphs
  • Analysis of Citation Graphs
  • Connected Components and Graph Resilience
  • Analysis of a Computer Network
  • Closest Pairs and Clustering Algorithms
  • Comparison of Clustering Algorithms
  • Computing Alignment of Sequences
  • Applications to Genomics and Beyond

About

This repository contains 15+ projects for Rice University's 7-course Fundamentals of Computing specialization, which covers much of the material that first-year CS students learn at Rice University.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages