Skip to content

Alogyn/CS50_Harvard_x

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CS50’s Introduction to Computer Science

Welcome to CS50, Harvard University’s immersive introduction to the intellectual enterprises of computer science and the art of programming. This course is designed for both concentrators and non-concentrators, accommodating individuals with or without prior programming experience. Remarkably, two-thirds of CS50 students embark on this journey with no prior exposure to computer science.

Course Overview

CS50 is more than just a programming course; it's a transformative experience that equips you with problem-solving skills, emphasizing correctness, design, and style. The curriculum spans a range of topics, including computational thinking, abstraction, algorithms, data structures, and broader aspects of computer science. Problem sets draw inspiration from diverse fields such as the arts, humanities, social sciences, and sciences, ensuring a multidisciplinary approach to learning.

Programming Fundamentals

The course kicks off with a deep dive into the fundamental language of C. Through this omnipresent language, you'll not only grasp the essentials of programming - functions, variables, conditionals, loops - but also gain insights into the inner workings of computers, exploring concepts like memory and more.

Language Transition

As the course progresses, it seamlessly transitions to Python, a higher-level language that becomes more comprehensible due to the foundational understanding acquired through C. This approach instills not just the ability to program in specific languages but, more critically, the skill to fundamentally program and adapt to new languages independently.

Diverse Skill Set

The journey continues with exploration into SQL for data storage, and exposure to web development through HTML, CSS, and JavaScript. The latter part of the course delves into Flask for web applications, addressing topics such as cybersecurity and seminars.

Culmination in a Final Project

The CS50 CS program reaches its zenith with a final project, allowing you to synthesize and apply the skills acquired throughout the course. This project is an opportunity to showcase creativity, innovation, and a comprehensive understanding of the principles taught.

Week-by-Week Overview

  • Week 0: Scratch
  • Week 1: C
  • Week 2: Arrays
  • Week 3: Algorithms
  • Week 4: Memory
  • Week 5: Data Structures
  • Week 6: Python
  • Week 7: SQL
  • Week 8: HTML, CSS, JavaScript
  • Week 9: Flask
  • Week 10: Emoji, Cybersecurity, Seminars
  • Final Project