For our learning schedule, we will be using this MIT Course
MIT's "Introduction to Computer Science and Programming in Python" is a beginner-friendly course designed for students with little or no programming experience. Here's why it's a great course for young teens to start their programming journey:
Beginner-Friendly Content: The course is tailored for beginners, aiming to instill confidence in students to write small, useful programs, regardless of their major.
Famous and Expert Instructors: The course is taught by three renowned instructors: Dr. Ana Bell, Prof. Eric Grimson, and Prof. John Guttag. Their expertise and experience in the field of computer science make this course particularly valuable.
Course Structure and Content: The course covers a range of topics over 12 weeks. It starts with basics like understanding computation and branching and progresses to more advanced concepts like object-oriented programming and data efficiency. Six problem sets and two quizzes are designed to reinforce learning and apply the concepts taught.
Comprehensive Goals: The course aims to provide a solid understanding of computation's role in problem-solving and positions students to compete for research projects and excel in subjects with programming components.
Supporting Textbook: The course follows the textbook "Introduction to Computation and Programming Using Python" by John Guttag, which provides detailed insights on the topics covered in the lectures.
Completion and Progression: This half-semester course can be followed by "6.0002 Introduction to Computational Thinking and Data Science", offering a pathway for further learning in the field.
To complete the course in 12 weeks, it's essential to follow the schedule, complete the problem sets on time, and prepare well for the quizzes. With dedication and consistent effort, completing this course can be both an enriching and exciting journey into the world of computer science.
We will used the book "Introduction to Computation and Programming Using Python, Second Edition - With Application to Understanding Data" by John V. Guttag as the primary text along with the video lectures.
Additional reading on the history of programming, and important essays will be shared with classes
The "Introduction to Computer Science and Programming in Python" course at MIT uses a structured approach to readings, paralleling its lectures with the textbook "Introduction to Computation and Programming Using Python: With Application to Understanding Data" by John Guttag. This textbook, available in both hard copy and as an e-book, offers detailed insights on various topics.
The course is divided into 12 sessions, each focusing on different aspects of Python and computer science:
What is Computation? - Chapters 1 and 2.1
Branching and Iteration - Chapters 2.2, 2.3.1, 2.4, 3.2
String Manipulation, Guess and Check, Approximations, Bisection - Chapters 3.1, 3.3–3.5
Decomposition, Abstractions, Functions - Chapters 4.1–4.2, 4.4–4.6
Tuples, Lists, Aliasing, Mutability, Cloning - Chapters 5.1–5.3.1, 5.4–5.5
Recursion, Dictionaries - Chapters 4.3, 5.6
Testing, Debugging, Exceptions, Assertions - Chapters 6 and 7
Object-Oriented Programming - Chapter 8.1
Python Classes and Inheritance - Chapter 8.2
Understanding Program Efficiency, Part 1 - Chapters 9.1–9.3.1, 9.3.3, 9.3.5
Understanding Program Efficiency, Part 2 - Chapters 9.3.2, 9.3.4, 9.3.6, 9.3.7
Searching and Sorting Algorithms - Chapters 10.1–10.2.
This structured approach, aligning each lecture with specific textbook chapters, provides a comprehensive and detailed learning path for beginners in Python and computer science.
PLEASE NOTE: Since we want to make sure everyone gets a strong grasp on the concepts, we will focus on getting through to Chapter 7, get to 12 and you get proper Steak!
Requirements
MUST be serious and prepared to study, grind and learn. We are using this college level class so we can learn fundamentals.
LAPTOP: Anything with a good browser will be fine, I will be putting class notes and homework into Replit to make it easy for any laptop to work fine.