Unit 7 – Web Design | Create Task 



Daily Lesson Plans 

This material contains a comprehensive collection of 90-minute lesson plans for a semester’s worth of instruction in AP Computer Science Principles to serve as a companion to this textbook. Each lesson plan includes clear objectives, related requirements, a list of necessary materials, a detailed procedure, an assessment method, and a reflection section. The lessons are designed to be engaging and interactive, incorporating a variety of teaching techniques to help students understand and apply the key concepts of computer science. In order to modify the course for a year-long course with approximately 180 instruction days, each lesson plan can easily be spread across two days of instruction. 


Textbook 

Computer Science Principles: The Foundational Concepts of Computer Science, 5th Edition, Kevin Hare – Yellow Dart Publishing – 2024


Daily Practice Questions

Enjoy complimentary access to a daily selection of 5 random questions from our extensive pool of over 500 thoughtfully crafted questions – even if you’re not a member. Dive into the excitement of learning with these free, rotating questions that change every 24 hours, offering a taste of the variety and depth our content and book have to offer.


Lessons:

Unit Duration:

  • 19.5 hours | 13 class periods (90-minutes)

Project, Test, and Quiz Resources:


Lesson 49 | 8.0 – Intro To Programming & 8.1 – Variables 

Lesson Objectives: 

  • Introduce programming and the JavaScript language 
  • Understand the concept of variables and their importance in programming
  • Learn to create and use variables in JavaScript 
  • Practice using variables in a practical application 

Related Requirements: 

  • Basic knowledge of computer operations and file management 
  • Familiarity with web browsers and web development tools 
  • No prior programming experience required 

Lesson Materials: 

  • Computer with internet access and a web browser 
  • Code editor (e.g. Visual Studio Code, Sublime Text, Repl.it) 
  • JavaScript console in the web browser 

Lesson Procedure: 

  1. Introduction (10 minutes): 
    • Give a brief overview of the lesson objectives and related requirements
    • Introduce programming and the JavaScript language, explaining what they are and why they are important 
  2. Presentation (20 minutes): 
    • Use presentation slides (optional) to introduce variables and their importance in programming 
    • Explain the concept of variables in JavaScript, including how to declare and assign values to variables 
    • Demonstrate the use of variables in simple code examples 
  3. Practice (30 minutes): 
    • Have the students follow along with you as you write and explain a basic JavaScript code that declares and uses variables. 
    • Once the students are comfortable with the basics of variables, instruct them to create a new JavaScript file and write a program that uses a prompt to ask the user for a temperature in Fahrenheit and the radius of a circle, then calculates and prints out the temperature in Celsius and the area of the circle. 
    • Circulate around the classroom and offer assistance as needed. 
  4. Assessment (20 minutes): 
    • Digitally collect the students’ completed programs and check for correct syntax and output. 
    • Provide feedback and suggestions for improvement. 
  5. Lesson Reflection (10 minutes): 
    • Discuss with the students what they learned during the lesson and what they found challenging. 
    • Encourage students to continue practicing and experimenting with JavaScript on their own. 

Assessment Method: 

  • The students’ understanding and proficiency in using variables will be assessed through their completion of the activity that uses a prompt to ask the user for a temperature in Fahrenheit and radius of a circle and then prints the temperature in Celsius and the area of the circle. 

Lesson Reflection: 

  • What was the main focus of the lesson? 
  • What practical application did the activity provide for using variables?
  • How did the students demonstrate their understanding and proficiency in using variables? 
  • How can students continue to improve their skills in JavaScript programming? 

Mapped Standards:

College Board AP Computer Science Principles (CSP) Framework:
  • CRD-1.A.3 Effective collaboration produces a computing innovation that reflects the diversity of talents and perspectives of those who designed it.
  • CRD-2.A.1 The purpose of computing innovations is to solve problems or pursue interests through creative expression.
  • IOC-1.A.2 As computing evolves, the way people complete tasks often changes to incorporate new computing innovations.
CSTA Standards:
  • 2-AP-10: Develop programs that use variables to store and modify data.

Lesson 50 | 8.2 – Methods & 8.3 Selection and Logic 

Lesson Objectives: 

  • Understand the concept of methods and if/else statements in JavaScript.
  • Demonstrate how to use methods from the String and Math classes in JavaScript.
  • Apply methods and if/else statements to solve a programming problem that involves user input. 

Related Requirements: 

  • Basic understanding of JavaScript syntax and data types. 
  • Familiarity with the concept of functions in JavaScript. 

Lesson Materials: 

  • Computer with a code editor and a web browser. 
  • Internet connection. 
  • JavaScript reference materials.

Lesson Procedure: 

  1. Introduction (5 minutes) 
    • Greet the students and give a brief introduction of the lesson. 
    • Review the prerequisite knowledge required for this lesson. 
  2. Methods and if/else statements (20 minutes) 
    • Introduce the concept of methods and if/else statements in JavaScript.
    • Explain how methods can be used to manipulate and transform data in JavaScript. 
    • Provide examples of methods from the String and Math classes. 
  3. Deep dive into methods (30 minutes) 
    • Choose a few methods from the String and Math classes. 
    • Demonstrate how to use these methods and their parameters. 
    • Have the students follow along and practice the code. 
  4. Activity (30 minutes) 
    • Explain the programming problem that involves user input. 
    • Give the students time to work on the problem individually. 
    • Have the students share their solutions with the class and discuss the different approaches taken. 
  5. Wrap up (5 minutes) 
    • Recap the key points covered in the lesson. 
    • Answer any questions the students may have. 

Assessment Method: 

  • Observe the students during the activity and provide feedback on their problem-solving skills. 
  • Review the students’ code and provide feedback on their use of methods and if/else statements. 

Lesson Reflection: 

  • What are some common mistakes that students made during the activity?
  • How can we provide more opportunities for students to practice using methods and if/else statements? 
  • What other concepts can we build upon in the next lesson? 

Mapped Standards:

College Board AP Computer Science Principles (CSP) Framework:
  • CRD-1.C.1 Effective collaborative teams practice interpersonal skills including but not limited to: communication skills; consensus building; conflict resolution; negotiation.
  • CRD-2.A.2 An understanding of the purpose of a computing innovation provides developers with an improved ability to develop the computing innovation.
CSTA Standards:
  • 2-AP-11: Develop programs that include control structures to solve problems.

Lesson 51 | 8.4 – Iteration 

Lesson Objectives: 

  • Students will be able to understand and use iteration in JavaScript through the while loop and for loop. 
  • Students will be able to create a program that uses iteration to keep prompting the user to guess a random number between 1 and 10 until they guess correctly. 

Related Requirements:

  • Basic knowledge of JavaScript syntax 
  • Familiarity with conditional statements 

Lesson Materials: 

  • Computer with a code editor and browser 
  • Internet access 

Lesson Procedure: 

  1. Introduction (10 mins): 
    • Begin by introducing the concept of iteration and how it can be used in programming. 
    • Give examples of real-world scenarios that involve iteration and how it can be used in programming to achieve similar outcomes. 
  2. Explanation of while and for loops (20 mins): 
    • Explain the while and for loops, including their syntax and usage. 
    • Provide examples of how each loop works and the differences between them.
    • Demonstrate how to use each loop to iterate through an array and perform specific actions on each element. 
  3. Practice (30 mins): 
    • Guide the students through a coding exercise where they create a program that uses iteration to keep prompting the user to guess a random number between 1 and 10 until they guess correctly. 
    • Start by writing the code for the program on the board and explaining each line of code. 
    • Then, have students follow along and write the code on their computers.
    • Finally, have students modify the program to include their own personalized prompts and messages. 
  4. Independent practice (30 mins): 
    • Assign the students the task of creating their own program that uses iteration to solve a problem. 
    • Encourage them to use either the while or for loop depending on the nature of the problem they are solving. 

Assessment Method: 

  • Observe student participation during practice and independent practice
  • Review student code and provide feedback 

Lesson Reflection: 

  • What did you find most challenging about learning iteration in JavaScript?
  • How can you use iteration in your own projects or programs? 
  • What are some real-world scenarios where iteration can be used to solve a problem?

Mapped Standards:

College Board AP Computer Science Principles (CSP) Framework:
  • AAP-2.K.1 Iteration statements change the sequential flow of control by repeating a set of statements zero or more times until a stopping condition is met.
  • AAP-2.K.2 The exam reference sheet provides REPEAT n TIMES { } in which the block of statements is executed n times.
  • AAP-2.K.3 The exam reference sheet provides REPEAT UNTIL(condition) { } in which the code in block of statements is repeated until the Boolean expression condition evaluates to true.
  • AAP-2.K.4 In REPEAT UNTIL(condition) iteration, an infinite loop occurs when the ending condition will never evaluate to true.
  • AAP-2.K.5 In REPEAT UNTIL(condition) iteration, if the conditional evaluates to true initially, the loop body is not executed at all due to the condition being checked before the loop.
  • AAP-2.O.2 Iteration statements can be used to traverse a list.
CSTA Standards:
  • 2-AP-12: Develop programs that use loops to perform repetitive tasks.

Lesson 52 | 8.5 – Arrays 

Lesson Objectives: 

  • Students will be able to understand the concept of arrays in JavaScript and their usage.
  • Students will be able to identify and implement various array methods in JavaScript.
  • Students will be able to create arrays and manipulate their values using loops and built-in functions. 
  • Students will be able to create an array filled with random integers and perform operations such as finding the minimum, maximum, and average values. 

Related Requirements: 

  • Students should have a basic understanding of JavaScript syntax and control structures.
  • Students should have access to a computer with an internet connection.
  • Students should have access to a JavaScript development environment such as VS Code or an online editor like Replit. 

Lesson Materials: 

  • A computer with an internet connection and a JavaScript development environment.
  • Code samples and exercises for students to practice with. 

Lesson Procedure: 

  1. Introduction (10 minutes): 
    • Introduce the concept of arrays and their importance in programming.
    • Explain the syntax for creating and manipulating arrays in JavaScript.
    • Present an overview of the numerous array methods that exist in JavaScript.
  2. Demo and Practice (60 minutes): 
    • Demonstrate how to create arrays and manipulate their values using built-in functions and loops. 
    • Guide students through a series of coding exercises that reinforce the concepts presented in the lesson. 
    • Provide real-time feedback and answer student questions as they work through the exercises. 
  3. Activity (20 minutes): 
    • Explain the activity to students: they will create an array filled with random integers and then loop through the array to find the minimum, maximum, and average values. 
    • Provide students with the code to generate random integers and add them to an array. 
    • Guide students through the process of writing code to find the minimum, maximum, and average values of the array. 
    • Encourage students to collaborate and share their solutions with each other.

Assessment Method:

  • Monitor students during the practice exercises and provide real-time feedback and support as needed. 
  • Evaluate student solutions to the activity for correctness and completeness.
  • Provide opportunities for students to ask questions and receive feedback on their work. 

Lesson Reflection: 

  • Were the lesson objectives achieved? 
  • Were the exercises and activities effective in reinforcing the lesson content?
  • Were there any challenges or difficulties that students encountered during the lesson?
  • How could the lesson be improved for future classes? 

Mapped Standards:

College Board AP Computer Science Principles (CSP) Framework:
  • AAP-1.C.1 A list is an ordered sequence of elements. For example, [value1, value2, value3, …] where value1 is the first element, value 2 is the second element, value 3 is the third element, …
  • AAP-1.C.3 An index is a common method for referencing the elements in a list or string using natural numbers.
  • AAP-1.C.4 A string is an ordered sequence of characters.
  • AAP-1.D.3 Data abstractions can be created using lists.
  • AAP-2.N.1 The exam reference sheet provides basic operations on lists include: accessing an element by index; aList[i] accesses the element of aList at index i. The first element of aList is at index 1 and accessed using the notation alist[1]; assigning a value of an element of a list to a variable; x ← aList [i] – assigns the value of aList[i] to the variable x; assigning a value to an element of a list; aList[i] ← x – assigns the value of x to aList[i]. aList[i] ← aList[j] – assigns the value of aList[j] to aList[i]. inserting elements at a given index; INSERT(aList, i, value) – any values in aList at indices greater than or equal to i are shifted one position to the right. The length of the list is increased by 1, and value is placed at index i in aList. adding elements to the end of the list (append); APPEND(aList, value) – the length of aList is increased by 1, and value is placed at the end of the aList. removing elements; and REMOVE(aList, i) – Removes the item at index i in aList and shifts to the left any values at indices greater than i. The length of aList is decreased by 1. determining the length of a list. LENGTH(aList) – Evaluates to the number of elements currently in aList.
  • CRD-1.C.1 Effective collaborative teams practice interpersonal skills including but not limited to: communication skills; consensus building; conflict resolution; negotiation.
CSTA Standards:
  • 2-AP-13: Develop programs that use arrays to store and manipulate collections or organize data.

Lesson 53 | 8.6 – Functions (parameters, return statements) 

Lesson Objectives: 

  • Students will be able to understand the concept of functions in JavaScript and their importance in programming. 
  • Students will be able to identify and implement various types of functions such as functions with parameters and return statements. 
  • Students will be able to write functions that can take parameters and return values.
  • Students will be able to apply their knowledge of functions to solve practical problems. 

Related Requirements: 

  • Students should have a basic understanding of JavaScript syntax and control structures.
  • Students should have access to a computer with an internet connection.
  • Students should have access to a JavaScript development environment such as VS Code or an online editor like Replit. 

Lesson Materials: 

  • A computer with an internet connection and a JavaScript development environment.
  • Code samples and exercises for students to practice with. 

Lesson Procedure: 

  1. Introduction (10 minutes): 
    • Introduce the concept of functions and their importance in programming.
    • Explain the syntax for creating and invoking functions in JavaScript. 
    • Present an overview of passing parameters to functions and using return statements. 
  2. Demo and Practice (60 minutes): 
    • Demonstrate how to create and invoke functions with parameters and return statements. 
    • Guide students through a series of coding exercises that reinforce the concepts presented in the lesson.
    • Provide real-time feedback and answer student questions as they work through the exercises. 
  3. Activity (20 minutes): 
    • Explain the activity to students: they will write three functions that case a name correctly, return a random number between 2 values, and return the distance between two points on the cartesian plane. 
    • Provide students with starter code and guide them through the process of writing each function. 
    • Encourage students to collaborate and share their solutions with each other. 

Assessment Method: 

  • Monitor students during the practice exercises and provide real-time feedback and support as needed. 
  • Evaluate student solutions to the activity for correctness and completeness.
  • Provide opportunities for students to ask questions and receive feedback on their work. 

Lesson Reflection: 

  • Were the lesson objectives achieved? 
  • Were the exercises and activities effective in reinforcing the lesson content?
  • Were there any challenges or difficulties that students encountered during the lesson?
  • How could the lesson be improved for future classes? 

Mapped Standards:

College Board AP Computer Science Principles (CSP) Framework:
  • AAP-3.B.1 One common type of abstraction is procedural abstraction which provides a name for a process and allows a procedure to be used only knowing what it does, not how it does it.
  • AAP-3.B.3 The process of subdividing a computer program into separate sub-programs is called modularity.
  • AAP-3.B.5 Using parameters allows procedures to be generalized, enabling the procedures to be reused with a range of input values or arguments.
  • AAP-3.B.6 Using procedural abstraction helps improve code readability.
  • AAP-3.C.1 The exam reference sheet provides PROCEDURE procName(parameter1, parameter2, …) { } that is used to define a procedure that takes zero or more arguments. The procedure contains block of statements.
  • AAP-3.C.2 The exam reference sheet provides PROCEDURE procName(parameter1, parameter2, …) { RETURN(expression) } that is used to define a procedure that takes zero or more arguments. The procedure contains block of statements and returns the value of expression. The RETURN statement may appear at any point inside the procedure and causes an immediate return from the procedure back to the calling statement.
  • CRD-1.C.1 Effective collaborative teams practice interpersonal skills including but not limited to: communication skills; consensus building; conflict resolution; negotiation.
CSTA Standards:
  • 2-AP-14: Create procedures with parameters to organize code and make it easier to reuse.

Lesson 54 | 8.7 – Forms & eventListener 

Lesson Objectives: 

  • Introduce students to form elements in HTML, their attributes and how to create them.
  • Teach students how to interact with form elements using JavaScript. 
  • Explain how to add event listeners to form elements in JavaScript. 
  • Allow students to apply their learning by creating an HTML page with form elements that represent a pizza menu and printing the pizza order onto the screen using JavaScript. 

Related Requirements: 

  • Basic knowledge of HTML and CSS. 
  • Basic understanding of JavaScript syntax. 

Lesson Materials: 

  • Computer with a text editor and a browser. 
  • Internet connection for accessing online resources. 
  • Code editor such as Visual Studio Code or Atom. 
  • HTML and JavaScript cheat sheets for quick reference. 

Lesson Procedure: 

  1. Introduction (10 minutes):
    • Introduce the topic of creating form elements in HTML and interacting with them using JavaScript. 
    • Explain the objectives and learning outcomes of the lesson. 
    • Provide an overview of the lesson plan and materials. 
  2. HTML Form Elements (20 minutes): 
    • Introduce HTML form elements and their attributes such as <input>, <select>, and <textarea>. 
    • Explain how to create various form elements and their attributes such as type, name, value, and placeholder. 
    • Show examples of how form elements can be styled with CSS. 
  3. Interacting with Form Elements in JavaScript (15 minutes): 
    • Introduce how to interact with form elements using JavaScript. 
    • Explain how to get and set form element values using getElementById and value.
    • Show examples of how to manipulate form elements using JavaScript.
  4. Adding Event Listeners to Form Elements in JavaScript (15 minutes):
    • Introduce how to add event listeners to form elements using JavaScript.
    • Explain the different types of events such as click, change, and submit.
    • Show examples of how to add event listeners to form elements. 
  5. Pizza Menu Activity (20 minutes): 
    • Provide students with a starter HTML page that includes a button, text field, radio button, and checkboxes. 
    • Instruct students to create a pizza menu using the form elements provided and add JavaScript to print the pizza order onto the screen when the button is clicked.
    • Encourage students to experiment with different types of form elements and event listeners. 
  6. Review and Discussion (10 minutes): 
    • Review the pizza menu activity and discuss any challenges or successes students had. 
    • Answer any questions and provide additional resources for further learning. 

Assessment Method: 

  • Observe students during the activity and provide feedback. 
  • Ask students to demonstrate their pizza menu and how it works. 
  • Assess the code written by students for accuracy and completeness. 

Lesson Reflection: 

  • Were the learning objectives achieved? 
  • Did students engage with the lesson material and participate in the activity?
  • Were there any challenges or areas that need improvement in the lesson plan?
  • How can the lesson be modified or improved for future classes?

Mapped Standards:

College Board AP Computer Science Principles (CSP) Framework:
  • CRD-1.C.1 Effective collaborative teams practice interpersonal skills including but not limited to: communication skills; consensus building; conflict resolution; negotiation.
  • CRD-2.C.1 Program input is data that are sent to a computer for processing by a program. Input can come in a variety of forms, such as tactile, audible, visual, or text.
  • CRD-2.C.2 An event is associated with an action and supplies input data to a program.
  • CRD-2.C.3 Events can be generated when a key is pressed, a mouse is clicked, a program is started, or by any other defined action that affects the flow of execution.
  • CRD-2.C.4 Inputs usually affect the output produced by a program.
  • CRD-2.C.5 In event-driven programming, program statements are executed when triggered instead of through the sequential flow of control.
  • CRD-2.C.6 Input can come from a user or other applications.
  • CRD-2.D.1 Program output is any data that are sent from a program to a device. Program output can come in a variety of forms, such as tactile, audible, visual, or text.
  • CRD-2.D.2 Program output is usually based on a program’s input or prior state (such as internal values).
CSTA Standards:
  • 2-AP-19: Develop programs that use events to create interactive applications.

Lesson 55 | 8.8 – Date Class 

Lesson Objectives: 

  • Introduce the Date class in JavaScript and its various methods 
  • Explain how to create and manipulate dates using Date methods 
  • Provide an opportunity for students to practice using Date methods to print out the date and time in an easy to read format 

Related Requirements: 

  • Basic knowledge of JavaScript syntax and programming concepts 
  • Basic knowledge of data types in JavaScript, including Date objects 

Lesson Materials: 

  • Computer with internet access 
  • Code editor or IDE (such as Visual Studio Code or Replit) 
  • Browser for testing code 

Lesson Procedure: 

  1. Introduction (10 minutes) 
    • Greet the class and introduce the topic of the lesson: the Date class in JavaScript and its various methods 
    • Explain the importance of dates in programming and give examples of how dates are used in real-world applications 
    • Provide an overview of the topics that will be covered in the lesson 
  2. Date Class (50 minutes) 
    • Explain the basics of the Date class in JavaScript, including how to create a new Date object and how to access the various properties of a date (such as year, month, day, hour, minute, and second) 
    • Introduce various methods of the Date class, such as .getFullYear(), .getMonth(), .getDate(), .getDay(), .getHours(), .getMinutes(), .getSeconds(), .getTime(), .toString(), and .toLocaleDateString() 
    • Demonstrate examples of using these methods to manipulate and format dates, such as converting a date to a string, formatting a date to display only the month and year, and calculating the difference between two dates 
    • Provide opportunities for students to practice along with examples and ask questions as needed 
  3. Activity (20 minutes) 
    • Provide an activity for students to practice using Date methods to print out the date and time in an easy to read format 
    • Provide a starter code snippet that creates a new Date object and asks students to use various methods to format the date and time in a specific way 
    • Encourage students to work together in pairs or small groups to solve the problem and compare solutions 
  4. Wrap-Up (10 minutes)
    • Review the key concepts covered in the lesson 
    • Answer any remaining questions and address any confusion or misunderstandings 
    • Encourage students to continue practicing and exploring the Date class and its methods on their own 

Assessment Method: 

  • Observe students’ participation during the lesson, including their ability to follow along with examples and their engagement in the activity 
  • Review students’ solutions to the activity to assess their understanding of the Date class and its methods 

Lesson Reflection: 

  • Were the lesson objectives clear and achievable? 
  • Did the students seem engaged and interested in the material? 
  • Were there any concepts that were particularly difficult for students to understand?
  • Was the activity effective in reinforcing the lesson content? 
  • What changes, if any, would you make to this lesson for future classes? 

Mapped Standards:

College Board AP Computer Science Principles (CSP) Framework:
  • AAP-1.A.1 A variable is an abstraction inside the program that can hold a value. Each variable has associated data storage that represents one value at a time, but that value can be a list or other collection that in turn contains multiple values.
  • AAP-1.B.1 The assignment operator allows a program to change the value represented by a variable.
  • DAT-1.A.2 Computing devices represent data digitally, which means that the lowest level components of any value are bits.
  • DAT-1.A.5 Abstraction is the process of reducing complexity by focusing on the main idea. By hiding details irrelevant to the question at hand and bringing together related and useful details, abstraction reduces complexity and allows one to focus on the idea.
CSTA Standards:
  • 3B-AP-23: Demonstrate an understanding of the use of complex data types and new data structures.

Lesson 56-58 | Guessing Game Project 

Lesson Objectives: 

  • Students will be able to apply their knowledge of programming and JavaScript to create a Guessing Game project that allows users to guess a number between 1 and another number. 
  • Students will be able to add additional features to their Guessing Game project from a predetermined menu to increase their grade. 
  • Students will be able to work collaboratively and present their project to the class. 

Related Requirements: 

  • Students should have prior knowledge of programming fundamentals, including variables, loops, and functions. 
  • Students should have a basic understanding of JavaScript syntax and programming concepts. 
  • Students should have access to a computer with a text editor and a web browser. 

Lesson Materials: 

  • Computers with internet access 
  • Text editor (e.g., Visual Studio Code, Sublime Text, Replit) 
  • Web browser (e.g., Google Chrome, Mozilla Firefox) 
  • Project requirements and rubric 
  • Sample code for a basic Guessing Game project

Lesson Procedure: 

Day 1: Introduction to the Guessing Game project and basic JavaScript concepts (90 minutes)

  1. Introduction (10 minutes): 
    • Introduce the Guessing Game project and explain the objectives and requirements. 
    • Provide students with the project requirements and rubric, so they know what is expected of them. 
    • Review the basic JavaScript concepts that students will need to know for the project, including variables, loops, and functions. 
  2. Instructor-led demonstration (30 minutes): 
    • Demonstrate how to write a basic Guessing Game project that allows users to guess a number between 1 and 100. 
    • Walk students through the code line by line, explaining the syntax and the purpose of each statement. 
    • Allow students to ask questions and clarify any confusion. 
  3. Student practice (50 minutes): 
    • Have students work in pairs to write their own basic Guessing Game project.
    • Encourage them to use the sample code as a starting point but to modify it to suit their needs. 
    • Circulate the room and provide assistance as needed. 

Day 2: Adding Features to the Guessing Game project (90 minutes) 

  1. Introduction (10 minutes): 
    • Review the basic Guessing Game project from the previous day and ask students to share their projects with the class. 
    • Introduce the predetermined menu of additional features that students can add to their projects to increase their grade. 
    • Provide examples of each feature and explain how they can be implemented.
  2. Instructor-led demonstration (30 minutes): 
    • Choose one feature from the menu and demonstrate how to implement it in the basic Guessing Game project. 
    • Walk students through the code line by line, explaining the syntax and the purpose of each statement. 
    • Allow students to ask questions and clarify any confusion. 
  3. Student practice (50 minutes): 
    • Have students work in pairs to add at least one feature from the menu to their projects. 
    • Encourage them to experiment with different features and to be creative in their implementation. 
    • Circulate the room and provide assistance as needed. 

Day 3: Presentations and Finalizing Projects (90 minutes) 

  1. Introduction (10 minutes):
    • Remind students of the project requirements and the deadline for submission.
    • Explain that they will have the opportunity to present their projects to the class and to receive feedback. 
  2. Student practice (70 minutes): 
    • Have students finalize their projects and prepare for their presentations.
    • Encourage them to test their projects thoroughly and to make any necessary adjustments. 
    • Allow them to practice their presentations and to provide feedback to each other.
  3. Presentations (10 minutes per group): 
    • Have each group present their project to the class. 
    • Allow time for questions and feedback from the audience. 

Assessment Method: 

  • Students’ projects will be assessed based on their adherence to the project requirements 

Mapped Standards:

College Board AP Computer Science Principles (CSP) Framework:
  • AAP-2.A.1 An algorithm is a finite set of instructions that accomplish a specific task.
  • CRD-2.E.1 A development process could be ordered and intentional, or exploratory in nature.
  • CRD-2.E.2 There are multiple development processes. The following phases are commonly used when developing a program: investigating and reflecting; designing; prototyping; testing.
  • CRD-2.F.1 The design of a program incorporates investigation to determine the requirements.
  • CRD-2.F.3 Some ways investigation can be performed are as follows: collecting data through surveys; user testing; interviews; direct observations.
  • CRD-2.F.4 Program requirements describe how a program functions, and may include a description of user interactions that a program must provide.
  • CRD-2.F.5 A program specification defines the requirements for the program.
  • CRD-2.F.6 In a development process, the design phase outlines how to accomplish a given program specification.
  • CRD-2.F.7 The design phase of a program includes: brainstorming; planning and storyboarding; organizing the program into modules and functional components; the creation of diagrams that represent the layouts of the user interface; the development of a testing strategy for the program.
  • CRD-2.J.1 In the development process, testing uses defined inputs to ensure that an algorithm or program is producing the expected outcomes. Programmers use the result from testing to revise their algorithms or programs.
CSTA Standards:
  • 3A-AP-17: Apply systematic strategies for identifying, fixing, and preventing errors in a program.

Lesson 59 | Tracing Code – Variables 

Lesson Objectives: 

  • Students will be able to trace the flow of code execution in JavaScript and predict the output of code segments with different inputs. 
  • Students will understand the behavior of variables in JavaScript, including variable declaration, initialization, and assignment. 
  • Students will practice writing their own code segments and predicting their output. 

Related Requirements: 

  • Basic knowledge of JavaScript syntax and data types. 
  • Understanding of control structures such as loops and conditionals. 
  • Familiarity with functions and their parameters. 

Lesson Materials: 

  • Code editor with JavaScript support (e.g., Visual Studio Code, Replit, or similar).
  • Digital handouts with sample code segments for the activity and quiz questions. 

Lesson Procedure: 

  1. Introduction (10 minutes) 
    • Introduce the lesson objectives and explains the importance of tracing code execution and understanding variable behavior in JavaScript. 
    • Briefly reviews JavaScript syntax, data types, and control structures as needed.
  2. Variable Behavior (20 minutes) 
    • Explain the difference between declaring, initializing, and assigning variables in JavaScript. 
    • Demonstrates how variables can change their values during program execution.
    • Shows examples of variable scoping and lifetime.
  3. Tracing Code Execution (30 minutes) 
    • Demonstrates how to trace code execution by using console.log() statements or debugging tools. 
    • Show examples of code segments with loops, conditionals, and function calls.
    • Students work in pairs to trace the execution of sample code segments and predict the output. 
    • Teacher leads a group discussion to review the students’ predictions and explain any misconceptions or errors. 
  4. Code Activity (20 minutes) 
    • Students are given digital handouts with sample code segments. 
    • Students work individually or in pairs to predict the output of each code segment for different input values. 
    • Students share their predictions and explanations with the class. 
    • Provide feedback and corrections as needed. 
  5. Quiz (10 minutes) 
    • Students are given a short quiz with multiple-choice and short-answer questions.
    • The quiz covers the concepts covered in the lesson, including code execution tracing and variable behavior. 
    • Collect and grade the quizzes. 

Assessment Method: 

  • During the code activity, the teacher observes and assesses students’ ability to trace code execution and predict output. 
  • The quiz serves as a formative assessment to measure students’ understanding of the concepts covered in the lesson. 

Lesson Reflection: 

  • What went well during the lesson? 
  • Were there any challenges or areas for improvement? 
  • How could the lesson be modified or improved for future classes? 
  • Did the students achieve the lesson objectives? How do you know? 
  • What additional resources or activities could be incorporated into the lesson to enhance student learning? 

Mapped Standards:

College Board AP Computer Science Principles (CSP) Framework:
  • AAP-1.A.2 Using meaningful variable names helps computer scientists understand what values are represented by the variable.
  • AAP-1.A.3 Some programming languages provide types to represent data, which are referenced using variables. These types include: numbers, Booleans, lists, and strings.
  • AAP-1.A.4 Some values are better suited to representation using one type of data rather than another.
  • AAP-1.B.2 The exam reference sheet provides the “←” operator to use for assignment. For example, a ← expression which evaluates expression and then assigns the result to the variable a.
  • AAP-1.B.3 The value stored in a variable will be the most recent value assigned. For example: a ← 1 b ← a a ← 2 display(b) still displays 1.
  • CRD-2.I.1 A logic error is a mistake in the algorithm or program that causes it to behave incorrectly or unexpectedly.
  • CRD-2.I.2 A syntax error is a mistake in the program where the rules of the programming language are not followed.
  • CRD-2.I.3 A run-time error is a mistake in the program that occurs during the execution of a program. Programming languages define their own run-time errors.
  • CRD-2.I.4 An overflow error is an error that occurs when the computer attempts to handle a number that is outside of the defined range of values can be represented.
  • CRD-2.I.5 The following are effective ways to find and correct errors: test-cases; hand-tracing; visualizations; debuggers; adding extra output statement.
  • CRD-2.J.2 Defined inputs used to test a program should demonstrate the different expected outcomes that are at or just beyond the extremes, minimum and maximum, of input data.
  • CRD-2.J.3 Program requirements are needed to identify appropriate defined inputs for testing.
CSTA Standards:
  • 3A-AP-24: Analyze a program to understand the sequence of statements and the values of variables.

Lesson 60 | Tracing Code – Selection 

Lesson Objectives: 

  • Students will be able to trace the flow of code execution in JavaScript and predict the output of code segments with different inputs that include if/else statements.
  • Students will understand the behavior of selection statements in JavaScript, including the use of comparison operators and logical operators. 
  • Students will practice writing their own code segments and predicting their output.

Related Requirements: 

  • Basic knowledge of JavaScript syntax and data types. 
  • Understanding of control structures such as loops and functions. 

Lesson Materials: 

  • Code editor with JavaScript support (e.g., Visual Studio Code, Replit, or similar).
  • Digital handouts with sample code segments for the activity and quiz questions. 

Lesson Procedure: 

  1. Introduction (10 minutes) 
    • Introduce the lesson objectives and explains the importance of tracing code execution and understanding selection statements in JavaScript. 
    • Briefly reviews JavaScript syntax, data types, and control structures as needed.
  2. Selection Statements (20 minutes) 
    • Explain the structure of if/else statements and the use of comparison and logical operators. 
    • Demonstrates how to use if/else statements to control program flow.
    • Show examples of nested if/else statements and the use of else if. 
  3. Tracing Code Execution (30 minutes) 
    • Demonstrate how to trace code execution by using console.log() statements or debugging tools. 
    • Show examples of code segments with if/else statements and how to predict the output. 
    • Students work in pairs to trace the execution of sample code segments and predict the output. 
    • Lead a group discussion to review the students’ predictions and explain any misconceptions or errors. 
  4. Code Activity (20 minutes) 
    • Students are given handouts with sample code segments that include if/else statements. 
    • Students work individually or in pairs to predict the output of each code segment for different input values. 
    • Students share their predictions and explanations with the class. 
    • Teacher provides feedback and corrections as needed. 
  5. Quiz (10 minutes) 
    • Students are given a short quiz with multiple-choice and short-answer questions.
    • The quiz covers the concepts covered in the lesson, including code execution tracing and the behavior of if/else statements. 
    • The teacher collects and grades the quizzes. 

Assessment Method: 

  • During the code activity, the teacher observes and assesses students’ ability to trace code execution and predict output.
  • The quiz serves as a formative assessment to measure students’ understanding of the concepts covered in the lesson. 

Lesson Reflection: 

  • What went well during the lesson? 
  • Were there any challenges or areas for improvement? 
  • How could the lesson be modified or improved for future classes? 
  • Did the students achieve the lesson objectives? How do you know? 
  • What additional resources or activities could be incorporated into the lesson to enhance student learning? 

Mapped Standards:

College Board AP Computer Science Principles (CSP) Framework:
  • AAP-1.A.4 Some values are better suited to representation using one type of data rather than another.
  • AAP-1.B.2 The exam reference sheet provides the “←” operator to use for assignment. For example, a ← expression which evaluates expression and then assigns the result to the variable a.
  • AAP-2.C.4 The order of operations used in mathematics applies when evaluating expressions. The MOD operator has the same precedence as the * and / operators.
  • AAP-2.G.1 Selection determines which parts of an algorithm are executed based on a condition being true or false.
  • AAP-2.H.1 Conditional statements or “if-statements” affect the sequential flow of control by executing different statements based on the value of a Boolean expression.
  • AAP-2.H.2 The exam reference sheet provides IF(condition) { } in which the code in block of statements is executed if the Boolean expression condition evaluates to true; no action is taken if condition evaluates to false.
  • AAP-2.H.3 The exam reference sheet provides IF(condition) { } ELSE { } in which the code in first block of statements is executed if the Boolean expression condition evaluates to true; otherwise, the code in second block of statements is executed.
  • AAP-2.I.1 Nested conditional statements or “else if” statements consist of conditional statements within conditional statements.
  • AAP-2.I.2 If the Boolean condition of the initial conditional statement evaluates to false, then the Boolean condition of the nested conditional statement is evaluated.
  • CRD-2.I.1 A logic error is a mistake in the algorithm or program that causes it to behave incorrectly or unexpectedly.
CSTA Standards:
  • 3B-AP-22: Develop programs that use logical expressions to control the flow of a program.

Lesson 61 | Tracing Code- Iteration

Lesson Objectives:

  • Students will be able to trace and understand the behavior of iteration (for/while loops) in JavaScript code.
  • Students will be able to predict the output of code segments with varying input.
  • Students will be able to create their own questions to test their understanding of iteration in JavaScript.

Related Requirements:

  • Students should have a basic understanding of JavaScript syntax, including variables, conditionals, and functions.
  • Students should be familiar with basic programming concepts such as loops and iteration.

Lesson Materials:

  • A computer with a text editor and a web browser
  • Access to an online JavaScript interpreter
  • A set of code examples that illustrate the behavior of for and while loops with varying input
  • A digital worksheet with questions about the output of the code examples
  • A quiz with multiple choice and short answer questions about the concepts covered in the lesson

Lesson Procedure:

  1. Introduction (10 minutes):
    • Begin by asking the class what they know about iteration and loops in programming.
    • Briefly review the concepts of for and while loops in JavaScript, using examples if necessary.
    • Explain that the lesson will focus on tracing the behavior of loops in JavaScript code.
  2. Code Examples (35 minutes):
    • Provide the class with a set of code examples that use for and while loops with varying input.
    • Ask students to work individually or in pairs to trace the behavior of each code example and predict the output.
    • After 10-15 minutes, review the answers as a class and discuss any areas of confusion or difficulty.
  3. Worksheet Activity (35 minutes):
    • Distribute a worksheet with questions about the output of the code examples.
    • Ask students to work individually or in pairs to answer the questions.
    • After 10-15 minutes, review the answers as a class and discuss any areas of confusion or difficulty.
    • Ask students to create their own questions about the behavior of for and while loops in JavaScript and share them with the class.
  4. Quiz (10 minutes):
    • Distribute a quiz with multiple choice and short answer questions about the concepts covered in the lesson.
    • Ask students to work individually to complete the quiz.
    • Collect the quizzes at the end of the lesson.

Assessment Method:

  • The worksheet and quiz will serve as the primary assessment tools for the lesson.
  • In addition, the teacher should observe student participation and engagement during the code example and worksheet activities.

Lesson Reflection:

  • What aspects of the lesson were successful, and which could be improved?
  • Did the students demonstrate a solid understanding of the behavior of for and while loops in JavaScript?
  • Were the worksheet and quiz effective tools for assessing student learning?

Mapped Standards:

College Board AP Computer Science Principles (CSP) Framework:
  • AAP-2.K.4 In REPEAT UNTIL(condition) iteration, an infinite loop occurs when the ending condition will never evaluate to true.
  • AAP-2.K.5 In REPEAT UNTIL(condition) iteration, if the conditional evaluates to true initially, the loop body is not executed at all due to the condition being checked before the loop.
  • AAP-2.O.1 Traversing a list can be a complete traversal where all elements in the list are accessed, or a partial traversal where only a portion of elements are accessed. EXCLUSION STATEMENT (EK AAP-2.O.1): Traversing multiple lists at the same time using the same index for both, parallel traversals, is outside the scope of this course and the AP Exam.
  • AAP-2.O.2 Iteration statements can be used to traverse a list.
  • AAP-2.O.3 The exam reference sheet provides FOR EACH item IN aList { } The variable item is assigned the value of each element of aList sequentially, in order from the first element to the last element. The code in block of statements is executed once for each assignment of item.
  • AAP-2.O.4 Knowledge of existing algorithms that use iteration can help in constructing new algorithms. Some examples of existing algorithms that are often used with lists include: determining a minimum or maximum value in a list; computing a sum or average of a list of numbers.
  • AAP-2.O.5 Linear search or sequential search algorithms check each element of a list in order until the desired value is found or all elements in the list have been checked.
  • AAP-2.P.1 The binary search algorithm starts at the middle of a sorted data set of numbers and eliminates half of the data in each iteration until the desired value is found or all elements have been eliminated. EXCLUSION STATEMENT (EK: AAP-2.P.1): Specific implementations of the binary search are outside the scope of the course and the AP Exam.
  • AAP-2.P.2 Data must be in sorted order to use the binary search algorithm.
  • AAP-2.P.3 Binary search is often more efficient than sequential / linear search when the data is sorted.
CSTA Standards:
  • 3A-AP-16: Use loops within programs, adjusting the program and its performance by modifying the loop conditions and the statements within the loop.

Lesson 62 | Tracing Code- Lists & Procedures

Lesson Objectives:

  • Students will be able to understand the concept of arrays in JavaScript.
  • Students will be able to create and manipulate arrays.
  • Students will be able to understand the concept of functions in JavaScript.
  • Students will be able to define and use functions with parameters and return statements.
  • Students will be able to trace and understand the behavior of arrays and functions in JavaScript code.
  • Students will be able to predict the output of code segments with varying input.

Related Requirements:

  • Students should have a basic understanding of JavaScript syntax, including variables, conditionals, and loops.
  • Students should be familiar with basic programming concepts such as arrays and functions.

Lesson Materials:

  • A computer with a text editor and a web browser
  • Access to an online JavaScript interpreter
  • A set of code examples that illustrate the behavior of arrays and functions in JavaScript with varying input
  • A digital worksheet with questions about the output of the code examples

Lesson Procedure:

  1. Introduction (10 minutes):
    • Begin by asking the class what they know about arrays and functions in programming.
    • Briefly review the concepts of arrays and functions in JavaScript, using examples if necessary.
    • Explain that the lesson will focus on creating and understanding the behavior of arrays and functions in JavaScript code.
  2. Code Examples (30 minutes):
    • Provide the class with a set of code examples that use arrays and functions with varying input.
    • Ask students to work individually or in pairs to trace the behavior of each code example and predict the output.
    • After 10-15 minutes, review the answers as a class and discuss any areas of confusion or difficulty.
  3. Worksheet Activity (30 minutes):
    • Distribute a digital worksheet with questions about the output of the code examples.
    • Askstudents to work individually or in pairs to answer the questions.
    • After 10-15 minutes, review the answers as a class and discuss any areas of confusion or difficulty.
    • Ask students to create their own code examples that use arrays and functions, and share them with the class.
  4. Code Example Presentations (10 minutes):
    • Ask students to present their code examples to the class, explaining how the arrays and functions are created and how they are used in the code.
    • Encourage students to ask questions and offer feedback to their classmates.
  5. Quiz (10 minutes):
    • Distribute a quiz with multiple choice and short answer questions about the concepts covered in the lesson.
    • Ask students to work individually to complete the quiz.
    • Collect the quizzes at the end of the lesson.

Assessment Method:

  • The worksheet and quiz will serve as the primary assessment tools for the lesson.
  • In addition, the teacher should observe student participation and engagement during the code example and worksheet activities.

Lesson Reflection:

  • What aspects of the lesson were successful, and which could be improved?
  • Did the students demonstrate a solid understanding of the concepts of arrays and functions in JavaScript?
  • Were the worksheet and quiz effective tools for assessing student learning?
  • Were the student-created code examples effective in reinforcing the concepts covered in the lesson?

Mapped Standards:

College Board AP Computer Science Principles (CSP) Framework:
  • AAP-1.C.1 A list is an ordered sequence of elements. For example, [value1, value2, value3, …] where value1 is the first element, value 2 is the second element, value 3 is the third element, …
  • AAP-1.C.3 An index is a common method for referencing the elements in a list or string using natural numbers.
  • AAP-1.C.4 A string is an ordered sequence of characters.
  • AAP-1.D.1 Data abstraction provides a separation between the abstract properties of a data type and the concrete details of its representation.
  • AAP-1.D.2 Data abstractions manage complexity in the program by giving a collection of data a name without the specific details of the representation.
  • AAP-1.D.3 Data abstractions can be created using lists.
  • AAP-1.D.4 Developing a data abstraction to implement in a program can result in a program that is easier to develop and maintain.
  • AAP-1.D.5 Data abstractions often contain different types of elements.
  • AAP-1.D.6 The use of lists allows multiple related items to be treated as a single value. Lists are referred to by different names, such as ‘array’, depending on the programming language. EXCLUSION STATEMENT(EK APP-1.D.6): The use of linked lists is outside the scope of this course and the AP Exam.
  • AAP-1.D.7 The exam reference sheet provides the notation [value1, value2, value 3…] to create a list with those values as the first, second, third… items. For example, aList ← [value1, value2, value3,…] – creates a new list that contains the values value1, value2, value3, and … at indices 1, 2, 3, and … respectively and assigns it to aList. aList [] – creates a new empty list and assigns it to aList. aList bList – assigns a copy of the list bList to the list aList. For example, if bList contains [20, 40, 60], then aList will also contain [20, 40, 60] after the assignment.
  • AAP-1.D.8 The exam reference sheet describes a list structure whose index values are 1 through the number of elements in the list, inclusive. For all list operations, if a list index is less than 1 or greater than the length of the list, an error message is produced and the program will terminate.
  • AAP-2.N.2 List procedures are implemented in accordance with the syntax rules of the language.
  • AAP-3.A.1 A procedure is a named group of programming instructions that may have parameters and return values.
  • AAP-3.A.2 Procedures are referred to by different names, such as method or function, depending on the programming language.
  • AAP-3.A.3 Parameters are input variables of a procedure. Arguments specify the values of the parameters when a procedure is called.
  • AAP-3.A.4 A procedure call interrupts the sequential execution of statements, causing the program to first execute the statements within the procedure before continuing. Once the last statement in the procedure has executed, or a return statement is executed, flow of control is returned to the point immediately following where the procedure was called.
  • AAP-3.A.5 The exam reference sheet provides procName (arg1, arg2, …) as a way to call PROCEDURE procName(parameter1, parameter 2, …) which takes zero or more arguments and arg1 is assigned to parameter1 and arg2 is assigned to parameter2, … respectively.
  • AAP-3.A.6 The exam reference sheet provides the procedure DISPLAY(expression) to display the value of expression, followed by a space.
  • AAP-3.A.7 The exam reference sheet provides the RETURN(expression) statement, which is used to return the flow of control to the point where the procedure was called and to return the value of expression.
  • AAP-3.A.8 The exam reference sheet provides result ß procName(arg1, arg2, …) to assign the “value of the procedure” being returned by calling PROCEDURE procName(parameter1, parameter2, …) to result.
  • AAP-3.A.9 The exam reference sheet provides procedure INPUT(), which accepts a value from the user and returns the input value.
  • AAP-3.B.4 A procedural abstraction may extract shared features to generalize functionality instead of duplicating code. This allows for program code reuse, which helps to manage complexity.
  • CRD-1.C.1 Effective collaborative teams practice interpersonal skills including but not limited to: communication skills; consensus building; conflict resolution; negotiation.
CSTA Standards:
  • 3B-AP-25: Develop programs that use different types of data collections.

Lesson 63 | Tracing Code- Exam

Lesson Objectives:

  • Students will be able to demonstrate their understanding of tracing JavaScript code.
  • Students will be able to identify and fix errors in JavaScript code.
  • Students will be able to predict the output of JavaScript code.
  • Students will be able to apply their knowledge of JavaScript code tracing to real-world programming problems. Related Requirements:
  • Students should have a solid understanding of JavaScript syntax, including variables, conditionals, loops, arrays, and functions.
  • Students should be familiar with basic programming concepts such as debugging and problem solving.

Lesson Materials:

  • A computer with a text editor and a web browser
  • Access to an online JavaScript interpreter
  • A summative exam with multiple choice and short answer questions about JavaScript code tracing

Lesson Procedure:

  1. Introduction (10 minutes):
    • Begin by reviewing the concepts of tracing and debugging in JavaScript, using examples if necessary.
    • Explain that the lesson will focus on assessing students’ ability to trace and predict the behavior of JavaScript code.
  2. Exam(60 minutes):
    • Distribute a summative exam with multiple choice and short answer questions about JavaScript code tracing.
    • Ask students to work individually to complete the exam.
    • Encourage students to ask questions if they are unsure about any of the questions.
  3. Review and Reflection (20 minutes):
    • Review the exam answers as a class and discuss any areas of confusion or difficulty.
    • Ask students to reflect on their understanding of JavaScript code tracing and identify areas for improvement.
    • Encourage students to ask questions and seek clarification if necessary.

Assessment Method:

  • The assessment method for this lesson is a summative exam with multiple choice and short answer questions about JavaScript code tracing.

Lesson Reflection:

  • Were the exam questions clear and relevant to the lesson objectives?
  • Did the students seem to understand the exam questions and feel comfortable answering them?
  • Was the time allotted for the exam appropriate?
  • Did any students struggle with the exam or need additional support?
  • How can the lesson be improved for future assessments of tracing programming code in JavaScript?

Mapped Standards:

College Board AP Computer Science Principles (CSP) Framework:
  • AAP-1.C.2 An element is an individual value in a list that is assigned a unique index.
  • AAP-2.L.1 Algorithms can be written in different ways and still accomplish the same tasks.
  • AAP-2.L.2 Algorithms that appear similar can yield different side-effects or results.
  • AAP-2.L.3 Some selections can be written as equivalent Boolean expressions.
  • AAP-2.L.4 Some Boolean expressions can be written as equivalent selections.
  • AAP-2.L.5 Different algorithms can be developed or used to solve the same problem.
  • AAP-2.M.1 Algorithms can be created from an idea, by combining existing algorithms, or by modifying existing algorithms.
  • AAP-2.M.2 Knowledge of existing algorithms can help in constructing algorithms. Some existing algorithms include: determining the maximum or minimum value of 2 or more numbers; or computing the sum or average of 2 or more numbers; or identifying if an integer is or is not evenly divisible by another integer; or determining a robot’s path through a maze.
  • AAP-2.M.3 Using existing correct algorithms as building blocks for constructing another algorithm has benefits such as reducing development time, reducing testing, and simplifying the identification of errors.
  • CRD-2.I.1 A logic error is a mistake in the algorithm or program that causes it to behave incorrectly or unexpectedly.
  • CRD-2.I.3 A run-time error is a mistake in the program that occurs during the execution of a program. Programming languages define their own run-time errors.
CSTA Standards:
  • 3B-AP-26: Use systematic debugging processes to identify and correct errors in a program.

Unit 7 – Web Design | Create Task 


Membership

For those hungry for more, our membership unlocks the full spectrum of over 500 questions, providing a comprehensive exploration of the diverse topics covered in our content and book. Delve deeper into the world of computer science, enhance your understanding, and master the principles that matter. Our membership also grants you exclusive access to detailed units from the comprehensive book and on our website. From foundational concepts to advanced topics, our units offer invaluable resources to support your learning journey. Elevate your exploration of computer science and make the most of your membership!

Ready to take the plunge into the world of computer science? Start Your Membership Today and enjoy free daily questions along with a treasure trove of over 500 more!


Subscribe to our Newsletter


Unit 7 – Web Design | Create Task