Back to FCS Home

CMU CS Academy - Programming Semester

Semester overview and lesson resources

Purpose of This Semester

This document describes the programming-focused semester of the Fundamentals of Computer Science course. This semester uses the CMU CS Academy CS1: Introduction to Programming curriculum to address the programming and computational thinking components of the Texas Essential Knowledge and Skills (TEKS) for computer science.

The other semester of Fundamentals of Computer Science addresses additional TEKS topics such as digital citizenship, technology operations, hardware concepts, binary representation, and web development.

This semester is dedicated specifically to learning to program.

Semester Description

During this semester, students will learn the fundamentals of computer programming through interactive, graphics-based projects. Instruction emphasizes:

  • Logical problem solving
  • Algorithmic thinking
  • Debugging strategies
  • Writing and organizing code
  • Creating interactive programs

No prior programming experience is required.

The semester is designed to prepare students for more advanced computer science courses such as AP Computer Science Principles, AP Computer Science A, or additional programming electives.

Course Structure and Parameters

  • Length: One semester (approximately 40 class meetings)
  • Class Duration: 90 minutes
  • Curriculum Platform: CMU CS Academy – CS1
  • Units Covered: 1–8, 10–11
  • Unit 9: Omitted
  • Unit 12: Final Project (semester test)
  • Grading Periods: Two grading periods of 20 classes each
  • Clean Midpoint Divide: After Class 20

Semester Narrative

The semester is intentionally divided into two distinct phases:

First Half – "Learn the Core Tools of Programming"

Students develop essential skills:

  • Variables and functions
  • Conditionals and decision making
  • Mouse and keyboard interaction
  • Building basic interactive programs

Second Half – "Use Those Tools to Build Bigger Things"

Students apply earlier skills to:

  • Animation and motion
  • Loops and repetition
  • Randomization
  • Lists and simple games
  • Larger, more complex programs

This structure ensures that students first master the basics before moving into more advanced programming concepts.

Instructional Methodology

This semester uses a blended learning model that combines direct instruction with guided independent practice.

Typical Class Structure

  • 35–45 minutes: Teacher-Led Instruction
    • Concept introduction
    • Live coding demonstrations
    • Explanation of new programming ideas
    • Modeling problem-solving strategies
  • 45–55 minutes: Student Work Time
    • Working through CMU CS Academy lessons and exercises
    • Applying new skills
    • Debugging with teacher support

Homework Expectations

Learning to program requires regular practice.

  • Unfinished CMU lessons and exercises become homework
  • Students are expected to complete assigned coding work outside of class
  • Typical homework expectation: 30–60 minutes between class meetings

This approach mirrors how real-world programming is learned and prepares students for future computer science coursework.

Programming Topics Covered

This semester follows the CMU CS Academy CS1 curriculum.

Unit Major Topics
Unit 1Creating drawings, shapes, colors
Unit 2Functions, mouse events, object properties
Unit 3Conditionals and helper functions
Unit 4Key events and program methods
Unit 5Nested and complex conditionals
Unit 6Groups, animation, and motion
Unit 7Local variables and for loops
Unit 8Random values and nested loops
Unit 10Lists and return values
Unit 112D lists and simple games
Unit 12Final programming project

Unit 9 is intentionally omitted to maintain an appropriate semester pace.

What Students Will Be Able to Do

By the Midpoint of the Semester

Students will be able to:

  • Write basic computer programs
  • Use functions to organize code
  • Create interactive graphics
  • Use conditional logic
  • Respond to mouse and keyboard input
  • Debug and improve their own programs

By the End of the Semester

Students will also be able to:

  • Use loops and animation
  • Work with lists and data structures
  • Create simple games and simulations
  • Plan and complete a multi-day programming project

Grading Plan for This Semester

Grading Period Structure

Each grading period (20 classes) follows the same format:

Category Number of Grades Weight Each Total Weight
Mastery / Understanding 8 10% 80%
Engagement 4 5% 20%
Total 12 grades 100%

Mastery / Understanding Grades (80%)

These grades measure actual programming knowledge and skills. Examples include:

  • Programming quizzes
  • Application labs
  • Mini-projects
  • Unit assessments
  • Cumulative programming tasks

Engagement Grades (20%)

Engagement grades reward consistent effort and responsibility, including:

  • Completion of assigned CMU CS Academy exercises
  • Productive use of class work time
  • Meeting homework expectations
  • Regular progress through online lessons

Semester Grade Calculation

Component Percent of Semester
Grading Period 145%
Grading Period 245%
Semester Test – Unit 12 Final Project10%
Total100%

The Unit 12 Final Project serves as the semester test grade and is completed during the final two class meetings.

Semester Lessons

First Half - Classes 301-321

Lesson Description
301Personal Introduction and class procedures
302Course intro, digital citizenship, CMU setup, Unit 1.1 Basics
303Unit 1.2 Colors
304Unit 1.3 Shapes
305FLEX DAY #1 – reteach / catch-up
306Unit 1 Exercises Catch-Up and Support Day
307Unit 1 Creative Mini-Task
308Lecture: 2.1 Functions + 2.2 Mouse Events
3092.3 Properties – guided practice
310Unit 2 Exercises Catch-Up and Support Day
311Collaborative debugging challenge
3123.1 Mouse Motion + 3.2 Conditionals
3133.3 Helper Functions
314Unit 3 Exercises Catch-Up and Support Day
315Assessment + application lab
3164.1 More Conditionals
3174.2 Key Events + 4.3 Methods
318Unit 4 Exercises Catch-Up and Support Day
3195.1 Nested Conditionals
3205.2 onKeyHold and advanced logic
321Consolidation + mini-project

Second Half - Classes 401-421

Lesson Description
401Groups and group methods
402onStep events and motion
403Unit 6 Exercises Catch-Up and Support Day
404Creative application lab
4057.1 New shapes
4067.2 Local variables
4077.3 For loops
408Unit 7 Exercises Catch-Up and Support Day
409Math functions
410Random values
411Nested loops
412Unit 8 Exercises Catch-Up and Support Day
413Unit 10 Lists basics
414Return values
415Unit 10 Exercises Catch-Up and Support Day
4162D Lists
417Writing simple board games
418Game lab / assessment
419Review
420Unit 12 Final Project – Day 1
421Unit 12 Final Project – Day 2

Enrichment Activities

Activity Description
CMU Graphics → Mobile App Refactor a CMU CS Academy Python project into a React Native mobile app using Claude.ai and the CodeHS sandbox. Runs on a real device via Expo Go.
Back to FCS Home