Welcome to the National Curriculum of Pakistan (NCP) 2023 Feedback Portal.

Here you will find a DRAFT version of curriculum documents for Grades 9-12. Please give your feedback on all material shared.

After feedback is incorporated, the provincial/area Implementation Leads will review the updated draft for consensus and finalization.

Feedback for Grades 9-12 is due on March 30, 2023

The revised Standards for Grades 9-12 will be notified by April 2023. The various education departments may then get the NCP 2023 notified through respective cabinets.


Computer Science (CS) 9- 12

Curriculum Guidelines

GRADE 9

DOMAIN A: Computer Systems

[SLO CS-09-A-01]

Standard 1: Students will understand and explain the various components of a computer system and the different levels of interactions between these. They will have a basic understanding of digital logic, the different stages of the software life cycle and the concepts of scalability, reliability and security for computer systems.

Student Learning Outcome(s):

[SLO CS-09-A-01] Students will define and describe computer hardware components such as computer architecture (CPU, microprocessors, etc.), input/output devices, data storage, and network hardware

Knowledge:

Students will understand that

        Name and identify the core components of a computer

        Computer architecture How data is transmitted within a computer system

        What are some of the requirements for a functioning computer systems and what are some key concepts

 

Students will know

        The core parts of a computer system and how they all work together, including definitions and key functions of computer architecture such as central processing unit (CPU), arithmetic logic unit (ALU), control unit (CU), memory, operating and application software, and data representation in computers (bit, byte, binary, denary/decimal, hexadecimal)

        Differences between hardware engineering and software engineering

Skills:

Students will be able to

        Recognize and describe key components of a computer system, such as:

        Outline the architecture of the central processing unit (CPU) and the functions of the arithmetic logic unit (ALU) and the control unit (CU) and the registers within the CPU.

        Describe primary, cache, and secondary memory.

        Describe the main functions of operating systems and application systems.

        Differentiate between hardware and software layer

        Explain how the various components interact together to transmit data and instructions

Assessments

Formative Assessments

Quiz assessment questions on the following topics:

        Components of and data transmission within a computer system

        What is the difference between input and output devices? Give 2 examples of each

        What is the storage device on a computer called?

        What are the four basic components of a computer?

        What is the full form of RAM?

        What is the data link layer?

        What units is the capacity of your hard drive measured in?

        What is the most common keyboard layout?

        How does a computer connect to the internet?

Summative Assessments

Exam questions on:

        Recognizing the basics of a computer system

        Differentiating between hardware and software layer

        Explaining how the various components interact together to transmit data and instructions

Learning Activities

  1. Share questions with students on how computers work and then show video in class to explain how computers work and what they do:

    https://www.youtube.com/watch?v=92TaQRBwPSs

  2. Various components of a computer explained:

    https://www.youtube.com/watch?v=ExxFxD4OSZ0

  3. Other relevant videos explaining binary, what is digital vs etc:

    https://www.youtube.com/watch?v=Xpk67YzOn5w&list=PLvVRXnxnXxLiJU1blLohEVhj38Q1rxoAU

  4. Hands on lab: Install, configure, and maintain the major hardware components.

  5. Hands on lab: Analyze problems and resolve system faults using basic troubleshooting tools.

  6. In-class activity

    : Oral presentations that involve demonstration of skills such as 1. Independent research using the Internet 2. Research on product specifications 3. Downloading drivers or other information from vendor sites 4. Gathering information on new hardware devices 5. New software (third party) diagnosis tools

 

[SLO CS-09-A-02]

Standard 1: Students will understand and explain the various components of a computer system and the different levels of interactions between these. They will be able to define & examplin digital logic, the different stages of the software life cycle and the concepts of scalability, reliability and security for computer systems.

Student Learning Outcome(s):

[SLO CS-09-A-02] Students will be able to identify and explain operating systems software & application software and their uses

Knowledge:

Students will understand that

        The main functions of operating systems and application software

        Outline the uses of various application software.

Skills:

Students will be able to

        Describe the main functions of an operating system.

        Outline the uses of various application software.

Assessments

 

Formative Assessments

Quiz questions on topics such as:

        The main functions of operating systems and application software

        Outline the uses of various application software

 

Summative Assessments

Exam questions on topics such asL

        Describe the main functions of an operating system.

        Outline the uses of various application software.

Learning Activities

  1. In-class discussion:

    Instructor to share questions on how computer science is changing everything and then request students to watch & debrief on videos on the topic, e.g.:

    https://www.youtube.com/watch?v=QvyTEx1wyOY

  2. Tinkering with circuits:

    Understand how to use circuits using simulations on

    https://www.tinkercad.com/

    free lesson plans available here:

    https://www.tinkercad.com/lessonplans

  3. In-class activity

    :A hands on activity lab to create circuit board using batteries, simple switches, and small LED bulbs

    1. Sample products/kits (individual components can also be purchased for cost effectiveness) 

      https://www.adafruit.com/product/739

       

      https://www.daraz.pk/products/electric-circuit-learning-toy-kit-science-project-i1725806.html

  4. In-class activity

    : Instructor-led exercises requiring students to translate higher-level language to assembly language and discuss issues that arise

    https://oliviagallucci.com/converting-high-level-languages-to-machine-language/

  5. In-class activity

    : Instructor-led discussions about and analysis of sample programs written in assembly language

    https://www.scirp.org/journal/paperinformation.aspx?paperid=94063

 

[SLO CS-09-A-03]

Standard 1: Students will understand and explain the various components of a computer system and the different levels of interactions between these. They will have a basic understanding of digital logic, the different stages of the software life cycle and the concepts of scalability, reliability and security for computer systems.

Student Learning Outcome(s):

[SLO CS-09-A-03]  Students will be able to identify and analyze basic networking systems

Knowledge:

Students will understand

        Network types

        How data is transmitted across a computer network for example packet switching, layering, encapsulation and protocols

        How applications such as the     world-wide-web, video streaming (e.g. Netflix and Hulu), video conferencing (e.g. Zoom and Skype) and BitTorrent use the network to communicate

        The internet is the largest computer network ever built and learn how it works

 

Students will know

        Key terms: 5-layer OSI networking model, LAN, WAN, packet switching, circuits, circuit switching, router, TCP/IP, IP, UDP, DNS, DHCP, host, browsers, layering, encapsulation and protocols

        All of the standard protocols involved with TCP/IP communications

        How LAN works

        How the internet works

Skills:

Students will be able to

        Identify and describe different types of networks using 5-layer OSI networking model

        Explain how data is transmitted and all of the standard protocols involved

        Define and explain uses of protocols, data, packets, and network services like DNS and DHCP

        Outline the advantages and disadvantages of wireless networks

        Describe the different methods of network security and their advantages and disadvantages

        Explain network troubleshooting tools and techniques

        Understand and describe  high level overview of cloud computing, everything as a service, and cloud storage

        Understand and describe real world applications of networks

Assessments

 

Formative Assessments

Quiz assessment questions on topics like:

        Network types and components

        Data transmission across networks, and protocols and their uses

        Application of networks

 

Examples of questions:

        What is a computer network? How is it different from a standalone computer?

        Explain how the internet is a computer network and explain how it works

        What is LAN, WAN and what is the difference between them?

        Name the 5 layers of the OSI reference model and explain what each does in brief

        A router operates in which layer of the OSI model?

        DHCP is the abbreviation of what?

        What is a DNS?

        What is the meaning of bandwidth in a network?

        What is the use of bridges in a network?

Summative Assessments

        Exam questions on topics related to:

        Network types in terms of a five-layer model

        Data transmission via packet switching, and networking technologies and protocols.

        Outline the advantages and disadvantages of wireless networks

        Network security methods and their advantages and disadvantages

        Network troubleshooting tools and techniques

        Understand and describe  high level overview of cloud computing, everything as a service, and cloud storage

Learning Activities

  1. Textbook:

    optional to assign readings from that aid better understanding of concepts Computer Networking - A Top-Down Approach.

    https://www.amazon.com/Computer-Networking-Top-Down-Approach-7th/dp/0133594149

  2. In-class activity

    : Instructor-led in class reading and discussions about how the internet works:

    https://cs144.github.io/handouts/week-1-how-the-internet-works.pdf

  3. In-class activity

    : Instructor-led in class video and discussions about what is IOT (Internet of things) and how networking enables IOT:

    https://www.youtube.com/watch?v=xQGsubJNbQw

  4. In-class activity

    : Instructor-led video and discussions about Computer Networks, their history all the way to today:

    https://www.youtube.com/watch?v=3QhU9jd03a0

  5. Video

    : Internet 101 explainer videos from Khan Academy:

    https://www.youtube.com/playlist?list=PLSQl0a2vh4HD8wtmKZh0nKOsOvP1KYaNO

 

Domain B: Computational Thinking & Algorithms

 

[SLO CS-09-B-01] & [SLO CS-09-B-02]

 

Standard 1:Students will identify and decompose simple and complex problems, create & evaluate appropriate solutions using computational approaches.

Student Learning Outcomes

[SLO CS-09-B-01] Identify simple and complex problems that can be solved computationally.

[SLO CS-09-B-02] Understand and apply techniques to decompose problems

Knowledge:

Students will understand

1)      The importance of computational thinking and problem-solving in computer science.

2)      Principles of computational thinking:

a)       Logical thinking

b)      Algorithmic thinking

3)      How to identify steps in identifying a computing problem

4)      How to identify the inputs, processes, and outputs of a problem

5)      Different methods to design and construct a solution to a simple problem, such as flow charts, and/or concept maps.

6)      Steps to produce simple diagrams to show:

a)       The structure of a problem

b)      Subsections and their links to other subsections

Skills:

Students will be able to

1)      Explain the role of computational thinking in computer science.

2)      Read and interpret simple computational problems

3)      Apply computational thinking principles to define and refine problems

4)      Identify the procedure appropriate to solving a problem.

5)      Evaluate whether the order in which activities are undertaken will result in the required outcome.

6)      Identify the inputs and outputs required in a solution.

 

 

 

Assessments

Formative Assessments

Quiz questions on the folloing topics:

        Defining & describing problem solving methods

        Solving computational problems using flow charts or concept maps

 

Summative Assessments

Exam question on the following topics:

        Explaining the role of computational thinking in computer science.

        Reading and interpreting simple computational problems

        Applying computational thinking principles to define and refine problems

        Identifying the procedure appropriate to solving a problem.

        Evaluate whether the order in which activities are undertaken will result in the required outcome.

        Identify the inputs and outputs required in a solution.

 

Sample questions can include:

        Write logical solution steps & create concept map and flow chart solvng a word search puzzle, calculator progrma, or tic tac toe game

Learning Activities:

 

  1. Play a tic tac toe game and write out an algorithm in words for a player & opponent to make a move. Instructor reading:

    https://www.neverstopbuilding.com/blog/minimax

    )

  2. Write Word search problem

    https://www.thesprucecrafts.com/free-word-searches-for-kids-1357174

  3. Write the logical steps to find the treasure, and create concept map to find the solution

    https://www.javatpoint.com/the-wumpus-world-in-artificial-intelligence

  4. Draw flowchart for calculator program

  5. Activity: Spotting patterns helps programmers write better programs.

    https://abitofcs4fn.org/puzzles/pattern-matching-puzzles/caterpillar-puzzles-1/

1)      Activity 2: Subjective questions with solving practical examples (ref Fig. 11. BCTt v.2 item example (item number 3) from https://www.semanticscholar.org/paper/Computational-Thinking-Test-for-Beginners%3A-Design-Zapata-C%C3%A1ceres-Mart%C3%ADn-Barroso/edf77fbe51d12bc76dcd5d4e7612bb047e676858

2)      Make a cleaning robot: http://aimaterials.blogspot.com/p/blog-page_17.html

3)      Ask students to make an algorithm for playing Tic Tac Toe

4)      Critical thinking essay: https://www.studypool.com/discuss/26722703/critical-thinking-essasy

5)      Importance of critical thinking & how to boost it: https://study.gov.pl/news/how-boost-your-critical-thinking

6)      Computational thinking definition: https://digitalpromise.org/initiative/computational-thinking/computational-thinking-for-next-generation-science/what-is-computational-thinking/

7)      Problem definition and Steps to solve an algorithm: https://ramahanishagunda.medium.com/a-search-algorithm-8233683c5d60

8)      Draw a block diagram to solve calculator problem  (simple example given below)

 

 

Domain C: Programming Fundamentals

[SLO CS-09-C-01]

 

Standard: Students will develop, test, and debug static website (using HTML and CSS) and a dynamic website (using JavaScript)

Student Learning Outcome(s):

[SLO CS-09-C-01] Students will create a static website using HTML and CSS

Knowledge:

Students will understand…

        Characteristics, examples, similarities & differences between of static and dynamic website

        That the purpose of HTML is to display text and image content over the Internet

        The capability of HTML documents to hyperlink to other documents

        The structure of an HTML document including the underlying DOM tree (Document Object Model)

        How JavaScript is used to modify a website

 

Students will know…

        What is HTML

        What is CSS

        What is JavaScript

        What is a Web Browser

 

Skills:

Students will be able to…

        Differentiate between a static and dynamic website

        Create a static website using HTML & CSS

Assessments

 

Formative Assessments

Practical / inclass exercises on the following topics:

        Share code snippets in class with bugs and ask students to point out the bug and how to fix it. Give students an assignment to make a webpage look a certain way (just share visual) and have them use CSS and HTML to create.

        What is the difference between static and dynamic websites? Illustrate with an example

        What does HTML mean and what is it used for?

        What is CSS and what is it used for?

        What is a web browser? Explain what happens when you type a website address in a browser?

        What are the main benefits of using Javascript?

        Inside which HTML element do we put the JavaScript?

        What is the correct syntax for referring to an external script called "xxx.js"?

        What will be the output of this code snippet? console.log(String.raw`HelloTwitter\nworld`);

 

Summative Assessments

Exam / quiz on following topics:

        What is the correct CSS syntax for making all the <span> elements bold?

        How do you add a comment in a CSS file?

        The # symbol specifies that the selector is?

        How can you open the link in a new window with HTML?

        Which of the tags below must be located in the <head> section of your page?

<title>

<form>

<link>

<meta>

        Which tag is used to create an ordered list?

Learning Activities

  1. Stages of website development: 

    https://www.newperspectivestudio.co.za/website-design-process-steps/

https://medium.com/@rachelheo/p4-case-study-9bc802f51a98

  1. Create breakout groups and assign a problem to solve using HTML, CSS and Javascript.

  2. Student groups present their solutions back to class

  3. Demo of various debugging and testing tools for websites and share their pros and cons (some examples:

    https://developers.google.com/search/help/debug

    )

  4. Begins with showing the following two websites

i. https://funtech.co.uk/latest/why-kids-should-learn-computer-science

ii. Search some keyword on www.google.com

Ask students what they can observe and then explain that (i) no change in data whenever you refresh/call the page, while, (ii) search results can vary with different keywords.

  1. Assign students a website project to showcase their resume and portfolio of projects (coding projects or art etc) and have them build it using html, css, javascript. This can be a group or individual activity

  2. In class assignment to use forms to build a survey website

  3. How HTML is used to display content such as dividing content into divisions, different heading styles. [

    https://www.w3schools.com/html/

    ]

  4. The capability of HTML documents to hyperlink to other documents

https://www.w3.org/TR/html401/struct/links.html

  1. The structure of an HTML document including the underlying DOM tree (Document Object Model)

https://www.w3.org/TR/WD-DOM/introduction.html

  1. Adding pictures

https://www.w3schools.com/html/html_images.asp

  1. How CSS is used to style displayed content using fonts, alignment and colors

https://www.w3schools.com/css/

  1. Start with defining website and share the story of first website h

    ttps://www.home.cern/science/computing/birth-web

  2. What Can Kids Do With HTML? 

    https://www.codewizardshq.com/html-for-kids/

    ]

  3. code in javascript within html

    https://www.w3schools.com/html/html_scripts.asp

  4. The structure of an HTML document including the underlying DOM tree (Document Object Model)

    https://www.w3.org/TR/WD-DOM/introduction.html

  5. Adding pictures 

    https://www.w3schools.com/html/html_images.asp

  6. Explain the difference between static website and dynamic website

    https://blog.hubspot.com/website/static-vs-dynamic-website

 

 

 

[SLO CS-09-C-02]

 

Standard: Students will develop, test, and debug static website (using HTML and CSS) and a dynamic website (using JavaScript)

 

Student Learning Outcome(s):

[SLO CS-09-C-02] Students should be able to create dynamic websites using JavaScript

 

Knowledge:

Students will understand…

        Variables, Data Types and Arrays in JavaScript

        Variable assignment in JavaScript

        What aspects of HTML can be changed with JavaScript

        What aspects of CSS can be changed with JavaScript

 

Skills:

Students will be able to…

        Create a static website in HTML

        Use JavaScript to modify the HTML to create a dynamic website

Assessments

 

 

 

Formative Assessments

Quiz / in class assignments / practicals on the following topics:

        Variables, data types and arrays in JavaScript

        HTML aspects that can be changed with JavaScript

        CSS aspects that can be changed with JavaScript

 

Sample projects can include:

        Create a magic 8 ball game in JavaScript

        Create a todo list using an appropriate  programming langauge

        Create a drum kit using JavaScript

 

Summative Assessments

Project submission / practical / Exam questions related to:

        Creating a static website in HTML

        Using JavaScript to modify the HTML to create a dynamic website

 

Sample questions can include;

        What is dynamic typing?

        What are some basic data types in Javascript? Given an example usage of each

        Write statement to create an array of 3 elements of different data types

        Build a clock using Javascript and HTML

Learning Activities

 

  1. Students can watch a video on how to make a website dynamic using JavaScript:

    https://www.youtube.com/watch?v=MkV_x-x79UI

  2. In-class project build a dynamic website using JavaScript:

    1. Sample 1:

      https://medium.com/@pearlmcphee/build-a-dynamic-app-using-javascript-html-and-css-f0dfc136007a

    2. Sample 2:

      https://www.htmlgoodies.com/javascript/creating-dynamic-websites-using-javascript/

  3. Additional reading on concepts:

    1. https://www.udacity.com/blog/2021/06/javascript-hub.html

    2. Variables, Data Types and Arrays in JavaScript and printing values in console,

      https://www.edureka.co/blog/data-types-in-javascript/

    3. Variable assignment in JavaScript

      https://www.w3schools.com/js/js_variables.asp

    4. What aspects of HTML can be changed with JavaScript:

      https://www.w3schools.com/js/js_htmldom_html.asp

    5. What aspects of CSS can be changed with JavaScript:

      https://www.w3schools.com/js/js_htmldom_css.asp

 

[SLO CS-09-C-03]

 

Standard: Students will develop, test, and debug static website (using HTML and CSS) and a dynamic website (using JavaScript)

 

Student Learning Outcome(s):

[SLO CS-09-C-03] Students should be able to implement common algorithms that use sequence, selection, and repetition in JavaScript

 

Knowledge:

Students will understand…

        An algorithm is a set of instructions

        How the sequence of instructions affects the result

        Arrays in JavaScript

        Sequence, Selection and Repetition in JavaScript

 

Skills:

Students will be able to…

        Construct an array and populate its values using a loop in JavaScript

 

Assessments

 

Formative Assessments

In-class assignments on computing problems that should be solved using JavaScript

 

Summative Assessments

Practical / lab exercise programming small algorithms in JavaScript

Practical / lab project creating a progamming project in JavaScript

Learning Activities

  1. Fun mini-applications that are great for beginners and use all the programming fundamentals:

        https://hackr.io/blog/javascript-projects

        https://skillcrush.com/blog/projects-you-can-do-with-javascript/

  1. Start with using javascript in IDE (VS code or visual studio or online interpreter) without HTML

    https://linuxhint.com/javascript-visual-studio-code/

  2. Link algorithm thinking in here from previous SLOs

  3. Arrays in JavaScript

    https://www.w3schools.com/js/js_arrays.asp

  4. Loops in javascript

    https://www.w3schools.com/js/js_loop_for.asp

  5. Sequence, Selection and Repetition in JavaScript

    http://students.cs.ucl.ac.uk/schoolslab/projects/HT6/cooking/HT6/JavaScript_Seq_Sel_Itr.html

 

[SLO CS-09-C-05]

 

Standard: Students will develop, test, and debug static website (using HTML and CSS) and a dynamic website (using JavaScript)

 

Student Learning Outcome(s):

[SLO CS-09-C-05] Students will determine ways of testing and debugging their code in JavaScript

Knowledge:

Students will understand…

        Code written outside of a function is hard to test

        Code written inside a function can be tested

        That they can write code that calls functions to ensure the results are correct

        Using a debugger allows programmers to set a breakpoint to stop execution of their code to see the state of variables mid-execution for the purpose of discovering errors in their code

 

Skills:

Students will be able to…

        Write code to invoke functions and check their return values for correctness

        Set a breakpoint to debug mistakes in their code

Assessments

 

Formative Assessments

Practical / lab exercises on identifying & resolving errors in computing problems using test functions and breakpoints.

 

Summative Assessments

Quiz / exam / practical on computing problems with errors and students to identify errors using test functions and breakpoints.

Learning Activities

        Basic workflow debugging for JavaScript programming (instructors can follow video and steps on this page: https://developer.chrome.com/docs/devtools/javascript/ ) to use breakpoints

 

Domain D: Data and Analysis

[SLO CS-09-D-01]

 

Standard: Students will be able to understand how computer systems collect, store, process, visualize, and interpret data

Student Learning Outcomes: [SLO CS-09-D-01] Students will understand and explain the scope of the data science field as an interdisciplinary field (computer sciences, mathematics & statistics, and business knowledge & understanding)

 

Knowledge:

  1. Students will understand the key concepts and principles of data science

  2. Students will be able to read an article and identify a problem that can be solved using data science

  3. Students will know definitions of key terms: data science, data analytics, computer science, mathematics, statistics, and business knowledge understanding

Skills:

Students will be able to:

        Identify the difference between data science, data analytics, computer science, mathematics, statistics, and business knowledge understanding

        Students will develop analytical thinking skills by reading case studies on data science applications

        (Advanced) Read a newspaper article or online paper to identify a problem that can be solved using data science

Assessments

 

Formative Assessments

In class (group exercise)- Students

Homework- Students

 

Quiz assessment/ project on:

        Identifying key concepts and principles of data science

        Identifying a business problem (e.g. from a newspaper article) that can benefit from data science.

 

Sample questions can include:

        Describe two business problems that could benefit from data science

        Describe similarities and differences within business problems that can be solved using computer science, mathematics, and data science.

 

Summative Assessments

Sample questions can include:

        Define and differentiate between data science, data analytics, computer science, mathematics, statistics, and business knowledge understanding

        Read a case study (1) identify the business problem (2) comment on how data science can solve the business problem

Learning Activities

  1. What is Data Science?

    1. Students construct the definition of Data Science and share it with the class

    2. Show a video [or share an article(s)] that goes over the concept of data science and exposes students to different definitions of data science.

  2. What is a business problem?

    1. Students draw a visual of how data science can solve a business problem

    2. Show a video  [or share an article(s)] that define common business problems in data science

 

  1. Read an article about the different types of problem data science solves:

    https://hackernoon.com/9-unusual-problems-that-can-be-solved-using-data-science-e7dbb89aa0c4

    1. Summarize these problems

    2. Which ones replace human tasks?

  2. Read a newspaper article or online paper to identify a problem that can be solved using data science.

    1. Read the article:

      The Internet of Things Is Coming for Us - The New York Times (nytimes.com)

  3. Student to research, create project presentations, or discuss topics in class, e.g.

    1. What is the Internet of Things

    2. What kind of data do Siri and Alexa collect?

    3. How is this data used?

    4. What problems/tasks are these technologies automating?

    5. What kind of everyday tasks are these technologies replacing?

 

[SLO CS-09-D-02]

 

Standard: Students will be able to understand how computer systems collect, store, process, visualize, and interpret data

Student Learning Outcomes: [SLO CS-09-D-02] Students will define and explain types of data, data collection, and data storage.

Knowledge:

  1. Students will understand data collection, analysis, and visualization.

  2. Students will know how to use summary statistics to formulate sentences and describe the data, data collection methodology, how the data will be used  

  3. Students will be familiar with different types of data and data structures.

 

Students will be able to:

  1. Explain how data, information, and knowledge are represented for computational use.

  2. Collect, upload, and share personal data collected in class (e.g., Stick Figure exercise in Learning Activity # 2)

  3. Learn about different representations of distributions using software.

  4. Utilize software to begin to analyze plots of data collected

  5. Interpret different types of data: Numerical and graphical summaries.

  6. Understand that rows and columns are a form of data structure.

  7. Explain why the relationship between the variables might exist, or, if there is no relationship, why that might be so

  8. Construct and interpret a frequency table.

  9. (Advanced) Load data into RStudio.

Skills:

Students will be able to:

 

        Construct summary statements about the data, how it is collected, how it is used, and how to work with it

        Define a database, its rationale, and its purpose for managing data, and that rows and columns are a form of data structure.

        Explain why the relationship between the variables might exist, or if there is no relationship, why that might be so.

        (Advanced) Construct and interpret a frequency table

        (Advanced) Understand the connection of databases to machine learning.

        (Advanced) Understand the differences between structured and unstructured data, quantitative and qualitative data)

 

Assessments

 

Formative Assessments

Quiz questions / research assignments  / inclass discussions on topics such as:

        Identifying data types in a given data table.

        Creating a template and assigning it data values such as a stick figure being assigned properties such as name, age, height, grades, etc.

 

Sample questions can include:

        What is data? Data are information or observations, that have been gathered and recorded.

        Where does data come from? Data can come from a variety of places. Some examples might include: cell phones, computers, school records, surveys, etc.

        Give an example of data. Answers will vary. One example might be information about a person – including their age, height, weight, eye color, etc.

        Give an example of something that is not data (e.g., something that was never written down). Answers will vary. One example might be just watching an event happen. If it wasn’t recorded in some way, it cannot be counted as data.

 

Summative Assessments

Practical / Lab Exercises  on lload data from a .csv or .xls or to RStudio or Python

Exam question on:

        Constructing summary statements about data, how it is collected, how it is used, and how to work with it

        Defining a database, its rationale, and its purpose for managing data.

        Explain why the relationship between the variables might exist, or if there is no relationship, why that might be so.

Learning Activities

  1. Data is everywhere. Identify a video/ article to introduce students to the idea that data is ubiquitous. The advent of computers has transformed the way data are collected, used, and analyzed. See how Amazon uses your data:

    How Amazon Uses Big Data | Future of Tech

    (

    https://youtu.be/O0DnYqkRWWQ

    )

  2. Experience data handling using ubiquitous data and organize data using rectangular or spreadsheet format as data storage structures. Everyday activities can be observed and recorded as data. Become aware of the difference between plots used for categorical and numerical variables. Interpret and understand graphs of distributions for numerical and categorical variables. See an example of an activity that teaches students how to collect data:

    Lesson 6: What Do I Eat? - Introduction to Data Science Curriculum (idsucla.org)

  3. Data & Variables: Data can be broken up into two parts.

    1. Observations -  Observations are the who or what we are collecting data from/ about. 

    2. Variables − Variables are the measurements or characteristics about our observations.

    3. If need be, re-type the command you used to view your data. Then answer the following:

      1. Based on the data, describe a few characteristics about the first observation. What does the first column tell us about our observations?

      2. In order to describe the first observation, notice that you had to look at the first row of the spreadsheet. Each row, in this case, describes a person.

      3. The columns of the spreadsheet represent variables.

  4. Students collect data such as a. Name b. Height c. Grades d. Shoe or Shoe Type e. Sport f. Friends or Number of Friends. (See Stick Figure Exercise

    Lesson 2: Stick Figures - Introduction to Data Science Curriculum (idsucla.org)

    )

    1. Discuss and define the different data types, categorical, numerical of the data collected.

    2. Identify ways to organize the data (e.g. create a data table that consists of rows and columns.) This type of organization as rectangular format, or spreadsheet format.

  5. Watch a video/read an article about Structured vs Unstructured data.

    Structured vs. Unstructured Data: What’s the Difference? | Coursera

    (https://www.coursera.org/articles/structured-vs-unstructured-data)&

    What is Big Data | Big Data Types | Types of Data | Structured Data | Unstructured Data |

    https://youtu.be/dK4aGzeBPkk

    1. What is big data (will be introduced again as a separate SLO)

    2. Discuss the differences between the two data types

    3. Identify examples of structured and unstructured data

 

[SLO CS-09-D-03]

 

Standard: Students will be able to understand how computer systems collect, store, process, visualize, and interpret data

Student Learning Outcomes [SLO CS-09-D-03] Students will be able to define and explain big data, and applications of big data in real world business

Knowledge:

Students will understand

 

  1. What insights big data can provide to businesses

  2. What tools and systems used by big data scientists and engineers

  3. how predictive modeling and graph analytics can be leveraged to model problems.

  4. (Advanced) Be able to ask the right questions about data and do basic exploration of large, complex datasets.

 

Students will know…

  1. Applications of big data

  2. What makes big data valuable?

  3. Characteristics of big data

  4. How data science gets value out of big data

  5. Introduction to concepts such as the Internet of Things (IoT) and the role of the cloud.

 

Skills:

Students will be able to

        Identify the different types of big data

        Recognize if big data is used to solve a business problem

        Read and critique published stories by interpreting the visualizations and experimental conclusions

        Formulate questions, identify existing or similar business cases, and evaluate how the new business solutions that leverage big data stack up against the old.

 

Assessments

 

Formative Assessments

Quiz assessment questions / inclass discussions on topics such as:

        Applications of big data

        What makes big data valuable?

        Characteristics of big data

Sample topics are:

        In-class discussion: Case Study of Machine-Generated Data vs. People-Generated Data

        In-class discussion: Saving Lives With Big Data and the role of big data in health

        Quiz#1: Give an example of how a company uses big data to provide a better user experience.

 

Summative Assessments

Exam questions on topics such as:

        Identify the different types of big data

        Recognize if big data is used to solve a business problem

        Read and critique published stories by interpreting the visualizations and experimental conclusions

        Formulate questions, identify existing or similar business cases, and evaluate how the new business solutions that leverage big data stack up against the old.

Sample questions are:

        Define the characteristics of big data. Give an example of big data and how a business uses it to make better decisions.

 

Learning Activities

  1. Definitions of Big Data:

    What is Big Data | Big Data Types | Types of Data | Structured Data | Unstructured Data |

https://youtu.be/dK4aGzeBPkk

  1. Watch this video to introduce the concept of Big Data: Big Data in 5 mins:

    https://youtu.be/bAyrObl7TYE

    1. After introducing the video, the instructor can decide how to structure an interactive discussion in class.

      1. What are data types stored on a smartphone?

      2. Do you know anything about privacy? Do you read privacy statements before sharing your data?

      3. Should customers permit businesses to use their data, even if it improves the customer user experience?

  2. Watch videos/read case studies about the

    San Diego Supercomputer Center

  3. Watch the videos/articles & complete exercises & quizzes on Khan Academy on:

    Sources of big data | AP CSP (article) | Khan Academy

    https://www.khanacademy.org/computing/ap-computer-science-principles/data-analysis-101/big-data/a/sources-of-big-data and complete the exercise and quizzes

 

Domain E:  Applications of Computer Science

[SLO CS-09-E-01]

 

Standard: Students learn about different popular fields in Computer Science like AI, Cloud Computing, IoT, and Blockchain. 

Student Learning Outcome(s):

[SLO CS-09-E-01] Students will be able to describe current uses of computing like IoT, AI, Machine Learning, Cloud Computing, and Blockchain

Knowledge:

Students will understand…

        What are IoTs and applications that are enabled by IoTs.

        What is AI and Machine learning and the kind of problems each is able to solve

        What is cloud computing and the need for it

        What is Blockchain and applications that use blockchains

 

Students will know…

        What are IoTs

        What is AI and Machine Learning

        What is Cloud Computing

        What is Blockchain

 

Skills:

Students will be able to…

        Identify applications that can be solved using these technologies and techniques

 

Assessments

 

Formative Assessments

Quiz questions on topics such ass:

        What are IoTs and applications that are enabled by IoTs.

        What is AI and Machine learning and the kind of problems each is able to solve

        What is cloud computing and the need for it

        What is Blockchain and applications that use blockchains

 

Summative Assessments

Project of Essay questions applications of various technologies like AI, Machine Learning, IOT, Cloud Computing or Block chain

Learning Activities

  1. What are IoTs: Student learn examples of applications that use IoTs like energy efficiency in smart homes, healthcare through wearable devices, smart transportation with connected public transport systems.

 

  1. What is cloud computing: Students learn what is cloud computing and its benefits. Students learn about popular platforms like AWS, Azure, GCP, etc.

 

  1. What is blockchain: Students learn about what is blockchain and its applications in cryptocurrency and smart contracts. An activity based on an example linked below would be a good way to conveying these ideas

    https://www.freecodecamp.org/news/blockchain-explained-by-trying-to-pass-a-high-school-math-class-2322c01ece48/

 

  1. What is AI and Machine Learning: Students will learn definitions of AI and machine learning based on simple activities based on how humans learn. Student will learn about tasks that are easy for humans but hard for computers like

    1. Recognizing emotions in voice (fear, sarcasm, anger, etc.)

    2. Finding objects in Images

  2. And recognizing tasks that are easier for computers but hard for humans

    1. Hard math problems

    2. Finding a number in a large sequence

 

[SLO CS-09-E-02]

 

Standard: Students learn about the importance of data and the social implications of using data to make decisions and provide services. 

Student Learning Outcome(s):

[SLO CS-09-E-02] Students will be able to identify different sources of data, differentiate between data and dataset, and identify missing data

Knowledge:

Students will understand…

        That there are different sources of data like sensors, and existing datasets, surveys, web crawlers, observations, etc.

        Data is observations or measurements represented as numbers, text, or multimedia (sound, video, etc.) and the dataset is a collection of this data that is related is some context.

        A dataset might not be complete and can have missing values

 

Skills:

Students will be able to…

        Collect data from different sources

        Identify missing data in a dataset

 

 

Assessments

 

Formative Assessments

Quiz / MCQs - sources of data, identifying various types of data inputs, measurements

Summative Assessments

Project inclass/ end of year submission or practical: Gather data measurements & present findings

Learning Activities

Students should be given a task to collect data from different sources:

        Identifying where data could have been collected from using various datasets such as those available on websites like: https://www.kaggle.com/datasets

        Collecting temperature measurements around the school using a thermometer

        Collect statistics on players using sporting website like https://www.espncricinfo.com/

        Collect data using short surveys on paper or through digital means like Google forms https://forms.google.com/ or free survey form collection website like https://www.surveymonkey.com/

 

[SLO CS-09-E-03]

 

Standard:

Benchmark I

: Students learn about different popular fields in Computer Science like AI, Cloud Computing, IoT, and Blockchain. 

Benchmark II: Students learn about the importance of data and the social implications of using data to make decisions and provide services.  Students learn about the importance of data and the social implications of using data to make decisions and provide services. 

Student Learning Outcome(s):

[SLO CS-09-E-03] Students will be able to identify applications of AI

Knowledge:

Students will understand…

        Different areas of AI – Speech recognition, computer Vision, Natural Language Processing, and Expert Systems.

        Different applications of AI in domains like healthcare, education, gaming, agriculture.

 

Skills:

Students will be able to…

        Identify different applications of AI

Assessments

 

Formative Assessments

Quiz / MCQs - different areas of AI and their applications

 

Summative Assessments

Exam / MCQs - different areas of AI and their applications

Project inclass/ end of year submission or practical: applications of AI in a particular sector

Learning Activities

        Students will study popular applications of AI by working with tools like  chatGPT for Natural Language processing and expert systems, Autonomous cars for computer vision and expert systems , google photos for facial recognition and image categorization, Siri for speech recognition

       

Students can watch video / additional resources on AI and applications shareout learnings

https://www.simplilearn.com/tutorials/artificial-intelligence-tutorial/artificial-intelligence-applications

 

[SLO CS-09-E-04]

 

Standard:

Benchmark I: Students learn about different popular fields in Computer Science like AI, Cloud Computing, IoT, and Blockchain. 

Benchmark II: Students learn about the importance of data and the social implications of using data to make decisions and provide services. 

Student Learning Outcome(s):

[SLO CS-09-E-04] Students will be able to discuss the social implication of the usage of AI in decision-making that affects humans

Knowledge:

Students will understand…

        AI algorithms make decisions that work for most people but harm or disadvantage others.

        Designers to AI algorithms should keep their focus on benefiting people

 

Students will know…

        Ethical issues in some popular AI tools

 

Skills:

Students will be able to…

        Explain what are some ethical issues when computers make decisions for humans

Assessments

 

Formative Assessments

Quiz / Research projects on

-          social implication of the usage of AI in decision-making that affects humans

-          Ethical issues in some popular AI tools

 

Summative Assessments

Exam / MCQs - Ethical issues in some popular AI tools

Learning Activities

  1. Students will use voice recognition software or tools like Siri and see if there are difference in performance based on students’ accents

  2. Students should discuss why Siri does not recognize Urdu (opinion article on the subject can be found here:

    https://medium.com/swlh/siri-alexa-and-other-voice-assistants-struggle-with-bilinguals-a9dc35fc0e2a

    )

  3. Students should be shown videos of surveillance and discuss tradeoffs between privacy and security. Examples of further material on the topic

    1. https://www.forbes.com/sites/forbestechcouncil/2021/06/03/how-to-balance-trade-offs-between-security-and-privacy-in-it/?sh=21a34d6c66a6

    2. https://www.youtube.com/watch?v=_FndBq3WAwM

    3. https://www.youtube.com/watch?v=vCxEULwvMcI

 

Domain F:  Impacts of Computing

[SLO CS-09-F-01]

 

Standard 1:  Ethics and laws related to computing and the use of computing devices, media, data, and the internet.  

Student Learning Outcomes

[SLO CS-09-F-01] Understand and apply safe and responsible use of computers specifically responsible use of hardware, appropriate use of software, and safe use of digital platforms

 

Knowledge:

Students will understand…

        The selection and use different hardware, software, and digital platforms for safe use depending on the tasks to be executed

        The need for laws to protect user privacy and intellectual property

 

 

Students will know…

        What is meant by the key concepts of data ethics and intellectual property rights

         How to safely use data searches and social networking sites

        Legal issues related to computing such as software piracy laws

Skills:

Students will be able to…

 

        Discuss how ethics are guidelines that dictate the responsible  use of computing systems

         Identify computer related laws

        Interpret software agreements, licenses and application terms

Assessments

 

Formative Assessments

Quiz assessment questions on:

        The selection and use different hardware, software, and digital platforms for safe use depending on the tasks to be executed

        The need for laws to protect user privacy and intellectual property

        What is meant by the key concepts of data ethics and intellectual property rights

        How to safely use data searches and social networking sites

        Legal issues related to computing such as software piracy laws

 

Sample questions can include:

        Quiz 1 Identify computing laws in developing vs developed nations. Why do you think accounts for their differences?

        Quiz 2 Why do we need to consider ethics in computing? Consider the impact of computing on individual privacy, freedom of speech, intellectual property, work, distribution of wealth, and the environment in your response.

        Student Self-Assessment/Reflection- Reflect on the computing devices, applications and platforms you use everyday. Have you ever considered the legal and ethical issues surrounding computing before this unit?

 

 

Summative Assessments

Exam questions on topics such as:

        Ethics are guidelines for responsible  use of computing systems

        Computer related laws

        Interpreting software agreements, licenses and application terms

 

Sample question could be:

        How has this unit impacted your views on the ethical and legal issues surrounding the use of computing devices and applications?

 

Learning Activities

 

        Search for computer related laws in different countries and discuss how they vary.

        Students will define computer ethics and describe ethical and legal issues related to the use of computers, public/private networks, freeware, and shareware.

        Students will define key terms and differentiate between intellectual property rights, software piracy and information privacy

        Students will look at a software agreement from an application they use everyday and explain how that will impact user privacy. They will point out what data is being collected and how it will be used.

        Students will work in groups to debate laws that regulate the development of software. They will consider data privacy and user protection in their discussions.

        Students will categorize different software as open source, shareware etc. with examples

 

 

[SLO CS-09-F-02]

 

Standard Application of personal privacy and network security to the use of computing

Student Learning Outcomes

[SLO CS-09-F-02] Analyze the beneficial and harmful effects of computing innovations such as social networking, fake news

Knowledge:

Students will understand…

        Every computing innovation will solve a need but can cause harm to users as well

        The tradeoffs between information privacy, system security and usability

        The importance of designing computing systems that will protect user privacy and increase system security

 

 

Students will know…

         What is meant by key concepts and be able to differentiate between them: scams, software piracy, freeware, shareware, opensource, malware, phishing, hacking

        The tensions between censorship of internet and  freedom of speech

 

Skills:

Students will be able to…

        Explain basics of reliable and unreliable sources of information

        Distinguish between fake news and credible sources of information

        Identify malicious internet scams, phishing, pharming, fraudulent activity, fake websites,

        Evaluate designs of computing technologies based on their user privacy policies and agreements

Assessments

 

Formative Assessments

Quiz assessment questions / inclass discussions on:

        Advantages and disadvantages of computing innovations in terms of health & usage

        Tradeoffs between information privacy, system security and usability

        User privacy and increase system security

        Defining & differentiating between scams, software piracy, freeware, shareware, opensource, malware, phishing, hacking

        Tensions between censorship of internet and  freedom of speech

 

Sample question could be:

        Student Self-Assessment/Reflection Create a diary of all the different kinds of interactions you have this week that involve computers. For each interaction, state how they would be different without the use of computers.

        Quiz 1 Assess and critique current popular sources of digital information. Which sources do you think are credible and why? Which sources do you think can be considered as providing fake news and why?

        Quiz 2 Explain how computing innovations have been beneficial to society with the use of 2 concrete examples. Can you think of any ways these innovations can also cause harm?

        Quiz 3 Summarize what we mean by intellectual property, internet security, plagiarism, and data privacy and explain how technology has impacted each of these in the modern world.

 

Summative Assessments

Exam questions on topics such as:

        Reliable and unreliable sources of information

        Malicious internet scams, phishing, pharming, fraudulent activity, fake websites,

        User privacy policies and agreements

 

Sample question could be:

        Select one computing application and system you have used personally and provide recommendations for improving data privacy and/or system security. Please include detailed reasoning for your choices.

Learning Activities

        Working in cooperative groups students will discuss how to distinguish between fake news and credible information. What strategies have you used to find credible sources of infomation.

        Consider how censorship works on the internet. Although it may seem the content on the internet cannot be controlled there is still a lot of censorship that takes place by repressive governments and intellectual property lawyers who can get content removed. Research some incidents where governments or IP lawyers have been successful in removing content from the internet.

        Divide your classroom into groups. Discuss the following: Anonymous posts on the internet. How does technology allow good and bad speech to exist online?

        Examining the source of any information is extremely important in this digital age where all kinds of information is posted on the internet. Select an article from the internet on a research topic you are interested in and then answer the following questions:

        Who is the author?

        What is the purpose of this article?

        Who is the intended audience?

        Where was the information published?

        Who owns this data source or medium?

        When was it written?

        When was the article updated?

        Did the author cite their sources?

 

[SLO CS-09-F-03]

 

Standard The environmental, cultural and human impact of computing and assistive technologies for the modern world

Student Learning Outcomes

[SLO CS-09-F-03] Evaluate the ways computing impacts personal, environmental, ethical, legal, social, economic, and cultural practices

Knowledge:

Students will understand…

        Computing has changed the way we live and conduct business

        The need for laws to protect intellectual property and individual rights

        Impact of computing on globalization and e-commerce

 

Students will know…

         The key terms:patents, trademarks, copyrights

Skills:

Students will be able to…

        Strategize on how to minimize the environmental impacts of computing

        Search and identify patents, trademarks and copyright information for computing applications

        Determine if technology design may be infringing on intellectual property

Assessments

 

Formative Assessments

Quiz assessment questions / inclass discussions on:

        Impact of computing on daily life

        Intellectual property and individual rights

        Impact of computing on globalization and e-commerce

 

Sample question could be:

        Quiz 1 Technological innovations have allowed greater freedom of speech in many ways as anyone with access to the internet can post information. However, this freedom can also allow for bad speech to exist. Discuss the ethical, personal and social impact of the internet by examining a situation where someone has posted information about you that you did not want shared publicly.

        Student Self-Assessment/Reflection How do you think technology has changed the way you interact with your friends and family?

 

Summative Assessments

Exam questions on topics such as:

        Environmental impacts of computing

        Patents, trademarks and copyright information for computing applications

        Technology design and intellectual property

 

Sample question could be:

        Examine the many ways in which computing innovations have had an impact on society, including privacy, freedom of speech, intellectual property, work, distribution of wealth, and the environment as well as for the many different fields in which they are used. Provide at least 3 examples.

Learning Activities

        Find two examples each of: copyrights, trademarks and patents.

        Computing has changed the way we do everything in the modern world including the world economy. The main impacts have included e-commerce, new marketing tactics, facilitation of globalization, and creation of new jobs. Select one of these areas and provide an example of how that technology has changed the way we interact with the world.

        Job insecurity is a big human impact of computing innovations. List some jobs that have become obsolete because of computing.

        Investigate and describe governmental initiatives promoting environmental awareness and sustainability such as, recycling centers, refurbishing computers, printer cartridge recycling programs etc. If none exists, create a list of suggestions to reduce environmental impact.

        List strategies to reduce impact of computer technologies on the environment including strategies like turn computers and monitors off at end of day.

 

 

Domain G: Digital Literacy

[SLO CS-09-G-01]

Benchmark I: Collect & analyse information and publish to a variety of audiences using digital tools and media-rich resources. 

Student Learning Outcomes: [SLO CS-09-G-01] Gather, organize, analyze, and synthesize information using a variety of digital tools such as image processing, word processing, media presentation, and spreadsheets

Knowledge:

Students will understand…

        The best medium to communicate ideas to various audiences (i.e. a word document to communicate written documents, presentations to present ideas to an audience, or spreadsheets to represent information graphically)

Students will know…

        How to create or analyze artefacts using various digital tools such as

        Image processing tools

        Word processors (like MS Word, Google Docs etc)

        Presentations (like MS PowerPoint or Google Slides etc)

        Spreadsheets (like MS Excel or Google Sheets)

Skills:

Students will be able to…

        How to analze information using various digital tools

        How to create artefacts to communicate ideas in various digital tools such as:

        Image processing tools

        Word processors (like MS Word, Google Docs etc)

        Presentations (like MS PowerPoint or Google Slides etc)

        Spreadsheets (like MS Excel or Google Sheets)

Creating artefacts should include the following skills:

        Planning the document / information flow

        Editing and alignment of page, paragraphs, text, tables, and graphics

Assessments

 

Formative Assessments

In class assignments / projects to create image processing tools, word processors (like MS Word, Google Docs etc), presentations (like MS PowerPoint or Google Slides etc), and spreadsheets (like MS Excel or Google Sheets)

 

Summative Assessments

Case studies or digital artefacts testing student knowledge for (1) best tools to communicate various types of information (2) Appropriate use of tools (i.e. layouts, formatting, editing, graphics, appearance & alignment etc.)

Learning Activities

  1. Creating a presentation on a topic using an application like MS Powerpoint

  2. Creating a written report on a research topic, the submission should include cover page, title, table of contents, headers, subheadings, paragraphs in a word processor like MS Word

  3. Creating a chart from a table in a spreadsheet using an application like MS Excel

  4. Creating a diagram in an image processing tool like MS Paint

  5. Identifying formatting errors and knowing how to fix them

 

 

 

 

Grade 10

Domain A: Computing Systems

[SLO CS-10-A-01]

Standard 1: Students will understand and explain the various components of a computer system and the different levels of interactions between these. They will have a basic understanding of digital logic, the different stages of the software life cycle and the concepts of scalability, reliability and security for computer systems.

Student Learning Outcome(s):

[SLO CS-10-A-01] Students will be able to understand and describe number systems and encoding schemes for data representation in computer systems

Knowledge:

Students will understand that

        What is Machine level representation of data

        What are the different numbering systems (decimal, binary, hexadecimal, octal)

        How text is represented digitally using common text encoding (ASCII, Unicode)

 

Students will know

        Key terms: ASCII, Unicode, binary, signed and unsigned numbers, bit, byte, hexadecimal number system, Negatives in binary, 2’s complement, Binary arithmetic, overflow and underflow.

        Representation of numerical and non-numerical data.

        How computers use binary arithmetic.

Skills:

Students will be able to

        Perform manipulations, conversions, and arithmetic at the machine level using two's-complement integers, floating point numbers, characters, pointers, and arrays.

        Understand and explain data representation, instruction sets and addressing modes.

        Demonstrate how data is encoded using ASCII and Unicode

Assessments

 

Formative Assessments

 

Quiz / In-class exercises on the topics:

How is data represented at the machine level?

What is the binary equivalent of the decimal number 10?

What is a bit in computer terminology?

In a number system, each position of a digit represents a specific power of the base, true or false?

What could be the maximum value of a single digit in an octal number system?

Convert between integer bases and encode floating-point numbers in binary

Represent any given integer number in different bases (such as base 2, 8, 10, and 16).

 

Summative Assessments

End of module assessment or end of term exam

Learning Activities

  1. In-class activity

    : Instructor-led video viewing and discussion about why computers use 1s and 0s and a short explanation of binary and ASCII:

    https://www.youtube.com/watch?v=Xpk67YzOn5w&t=97s

  2. In-class activity

    : Instructor-led video viewing and discussion about why computers use binary vs. base 3 or other base systems:

    https://youtu.be/fXwSFhUVFmE

  3. In-class activity

    : Instructor-led exercises in which students convert between integer bases and encode floating-point numbers in binary

  4. Out-of-class assignment

    : Assigned readings on such topics as integer types represented in two's complement

  5. Video:

    How to represent numbers and letters with binary:

    https://www.youtube.com/watch?v=1GSjbWt0c9M

  6. Video

    : Converting between different number systems:

    https://www.youtube.com/watch?v=Fpm-E5v6ddc

 

[SLO CS-10-A-02]

 

Standard 1: Students will understand and explain the various components of a computer system and the different levels of interactions between these. They will have a basic understanding of digital logic, the different stages of the software life cycle and the concepts of scalability, reliability and security for computer systems.

Student Learning Outcome(s):

[SLO CS-10-A-02] Students will be able to explain how system software controls the flow of information between hardware components used for input, output,

storage, and processing

Knowledge:

Students will understand that

        What is an operating system

        What main tasks an operating system performs

        How application programs run on top of operating systems

        What are the different types of operating systems

 

Students will know

        Key terms: System calls, Processes, threads, synchronization, scheduling, deadlock, File system interface, Memory system and virtual memory.

        The primary resources managed by an operating system

        What a process is and the sequence of events executed for a process to complete

Skills:

Students will be able to

        Explain how programming languages, operating systems, and architectures interact and how to use each effectively.

        To understand the services provided by and the design of an operating system.

        To understand the structure and organization of the file system.

        To understand what a process is and how processes are synchronized and scheduled.

        To understand different approaches to memory management.

Assessments

 

Formative Assessments

 

Quiz / In-class exercises on the topics:

        Types, purpose, application of operating systems

 

Sample question could be:

        What is the primary purpose of an operating system?

        What are the four main computer system resources managed by an operating system?

        What is a process? What is the difference between a job and process?

        What is a thread?

        What is a process scheduler and what are the characteristics of a good process scheduler?

        What are the differences between paging and segmentation?

        What are two hardware features that are used to support an operating system and how do they work?

       

What is the sequence of events that a process goes through as it executes?

Summative Assessments

Exam questions on topics such as:

        Interaction of programming language, operating systems, and computer architecture

        Types, purpose, application of operating systems

        Structure and organization of the file system

        Computer processes

        Memory management:

 

Learning Activities

In-class activity: Instructor-led video viewing and discussion about what an operating system is and how it came about: https://www.youtube.com/watch?v=26QPDBe-NB8

Video: Instructor can play a video on operating systems and students can share out key learnings on operating systems and it’s various components. Example videos in playlist: https://www.youtube.com/watch?v=vBURTt97EkA&list=PLBlnK6fEyqRiVhbXDGLXDk_OQAeuVcp2O

 

 

[SLO CS-10-A-03]

Standard 1: Students will understand and explain the various components of a computer system and the different levels of interactions between these. They will have a basic understanding of digital logic, the different stages of the software life cycle and the concepts of scalability, reliability and security for computer systems.

Student Learning Outcome(s):

[SLO CS-10-A-03] Students will identify and apply common software tools such as translators, integrated development environments, online and offline computing platforms, code repositories etc.

Knowledge:

Students will understand that

        The types of software and how they are different

        Where software is hosted and pros and cons of on-premise vs. in cloud

       

How programming software helps programmers write code that can then get compiled.

Students will know

        Defintions of key software tools such as translators, integrated development environments, online and offline computing platforms, code repositories etc

        Difference between on premise and hosted application software

        What applications can be used without internet(offline) and which require internet to work (online)

        Uses of common productivity application software (e.g. Microsoft Office, Photoshop, Zoom, Chrome, gmail, Twitter etc)

        Uses of programming software such as language editors, debuggers, compilers, IDEs, source code repositories and build systems (e.g. Eclipse for Java, Coda for Mac, Visual Studio for multiple languages, github for source code)

Skills:

Students will be able to

        Explain the difference between system software, programming software, application software and driver software.

        Identify common examples of the different types of applications

        Descibe uses of common productivity application software

        Describe uses of programming software such as language editors, debuggers, compilers, IDEs, source code repositories and build systems (e.g. Eclipse for Java, Coda for Mac, Visual Studio for multiple languages, github for source code)

Assessments

Formative Assessments

Quiz / In-class exercises on the topics:

        Types of software and their differences

        Pros and cons of software hosting on-premise vs. in cloud

        How programming software helps them write code that can then get compiled.

 

Sample question could be:

        A user calls to tell you that everytime they browse the internet a window pops up on the screen even though he has not clicked anything. What is the issue here and how should you fix the problem?

        What software is designed to let the operating system talk to hardware?

        What is an application patch?

        Word processing, spreadsheets and presentation software are examples of what types of software?

        What kind of software does not require users to pay for it?

        When thinking of software compatibility, which two factors matter the most?

        What is the difference between on-premise hosted vs. cloud hosted?

        What is a debugger? Give an example

        What is a compiler? Give an example

 

Summative Assessments

Exam questions

        Differences between system software, programming software, application software and driver software.

        Common examples of the different types of applications, including productivity and programming software

Learning Activities

  1. In-class activity

    : Instructor-led video viewing and discussion about how software works:

    https://youtu.be/xnyFYiK2rSY

  2. In-class activity

    : Instructor to demonstrate how to install software and demo common programming software for students to try hands on. Build a simple one line hello world type program in a programming language like Python and ask students to follow along

  3. In-class activity

    : Instructor-led video viewing and discussion about top 5 programming tools for new coders:

    https://www.youtube.com/watch?v=WWy7ZWQiG8s

 

Domain B: Computational Thinking & Algorithms

[SLO CS-10-B-01]

 

Standard 1:Students will identify and decompose simple and complex problems, create & evaluate appropriate solutions using computational approaches.

Student Learning Outcomes [SLO CS-10-B-01] Students will identify common algorithms used to develop software, secure data, store, search, or sort information

Knowledge:

Students will understand

1)      Problem solving methods using

a)       Abstraction

b)      Decomposition

c)       Pattern recognition

d)      Algorithms

2)      Logical reasoning and will be able to solve

a)       Boolean logic

b)      Verbal logical reasoning

c)       Nonverbal logical reasoning

3)      Describe the characteristics of standard algorithms on linear arrays such as linear search, binary search, insertion sort, bubble sort, merge sort, quick sort etc

Skills:

Students will be able to

1)      Apply logical reasoning to refine and solve problems

2)      Apply algorithmic thinking to refine and solve problems

3)      Identify when & where to use key search & sort algorithms

4)      Discuss an algorithm to solve a specific problem.

 

 

 

Assessments

 

Formative & Summative Assessments

Assessment questions on:

        Boolean logic, verbal logical reasoning, nonverbal logical reasoning

        Algorithmic thinking and will be able to solve problems by abstraction, decomposition, pattern recognition, and algorithms

Subjective questions / / inclass discussions on

        Applying logical reasoning to refine and solve problems

        Applying algorithmic thinking to refine and solve problems

Learning Activities

  1. Homework:  Watch video and summaries one of the algorithms mentioned here in your own words:

    https://www.youtube.com/watch?v=d7iGniWrRng

  2. Course activities in

    https://www.khanacademy.org/computing/computer-science/algorithms

    1. Guessing game:

      https://www.khanacademy.org/computing/computer-science/algorithms/intro-to-algorithms/a/a-guessing-game

    2. Route finding:

      https://www.khanacademy.org/computing/computer-science/algorithms/intro-to-algorithms/a/route-finding

    3. Algorithms in your life:

      https://www.khanacademy.org/computing/computer-science/algorithms/intro-to-algorithms/a/discuss-algorithms-in-your-life

  3. Consider a grading system where numbers are turned into letters. Activity details are here:

    http://ndrdmath.weebly.com/lesson-21.html

  4. Verbal reasoning questions:

    https://irp-cdn.multiscreensite.com/16712cd9/files/uploaded/CGP%20NVR%20GL%20ALL.pdf

  5. Write algorithm to solve word search problem and Sudoku game:

    https://medium.com/@george.seif94/solving-sudoku-using-a-simple-search-algorithm-3ac44857fee8

  6. Common algorithms:

    https://u.osu.edu/cstutorials/2016/11/21/7-algorithms-and-data-structures-every-programmer-must-know/

  7. Add boolean expressions to conditional statements (e.g. exercise 5.1:

    https://www.sccollege.edu/Departments/upwardboundms/SiteAssets/Pages/Computer-Science-/chapter5and6.pdf

    )

  8. Searching & Sorting Algorithms Practice:

    https://www.101computing.net/searching-sorting-algorithms-practice/

 

[SLO CS-10-B-02]

 

Standard 1:Students will identify and decompose simple and complex problems, create & evaluate appropriate solutions using computational approaches.

Student Learning Outcomes [SLO CS-10-B-02] Develop and apply abstractions to create generalized, modular solutions

Knowledge:

Students will understand

1)      Steps in an algorithm to solve computational problems

2)      Dry running or Trace Table to run algorithm

3)      Identify logical and syntax errors

4)      Abstractions to create generalized, modular solutions

 

Skills:

Students will be able to

        Use algorithmic approach to solve the computational simple problems

        Apply abstractions to create generalized, modular solutions

        Create and use dry runs/trace tables to follow an algorithm

        Identify syntax/logic errors in code and solve logical errors

 

Assessments

 

Formative Assessments

Quiz assessment questions / inclass discussions on:

        Steps in an algorithm to solve computational problems

        Dry running or Trace Table to run algorithm

        Identification of logical and syntax errors

        Abstractions to create generalized, modular solutions

 

Sample question could be:

        Find the smallest integer in the list of 4 1 -4 0 9 9 3 5 8

        Write an algorithm to find and display the square and cube of a positive number. The execution must be terminated, if a negative number is entered.

        Evaluate answers for some simple programs

        Find logical error in the some simple list of steps

 

Summative Assessments

Exam questions/project submissions on topics such as:

        Algorithmic approach to solve the computational simple problems

        Abstractions to create generalized, modular solutions

        Creating and using dry runs/trace tables to follow an algorithm

        Identifying syntax/logic errors in code and solve logical errors

Learning Activities

  1. Activity 3 Develop a high-level algorithm from this link:

    http://sofia.cs.vt.edu/cs1114-ebooklet/chapter4.html

    1. Students should write steps for an activity, e.g. “send a birthday card to Mark”. Steps could be:

      1. Go to a store that sells greeting cards

      2. Select a card

      3. Purchase a card

      4. Mail the card

    2. The instructor can then drill down questions that show that the instructions could be more specific:

      1. "Which store will you visit?"

      2. "How will I get there: walk, drive, ride my bicycle, take the bus?"

      3. "What kind of card does Mark like: humorous, sentimental, risqué?"

  2. Video on specific instructions and developing algorithms. Class can watch this video and try to create their own set of instructions

    1. https://www.youtube.com/watch?v=Ct-lOOUqmyY

 

 

 

Domain C: Programming Fundamentals

[SLO CS-10-C-01]

 

Standard: Students will develop, test, and debug static website (using HTML and CSS) and a dynamic website (using JavaScript)

 

Student Learning Outcome(s):

[SLO CS-10-C-01] Students should be able to differentiate between front-end development, and back-end development of a website

 

Knowledge:

Students will understand…

        Back-end development allows writing code that emits HTML/CSS/JavaScript

        Front-end development deals with HTML and JavaScript in the browser

 

Skills:

Students will be able to…

        Differentiate between back-end and front-end development

 

Assessments

 

Formative Assessments

        Inclass activities / practical / quiz on differentiating between back-end and front-end development

 

Summative Assessments

        Exam / practical

Learning Activities

        Inspect webpage to discover code of HTML/CSS/JavaScript

        Write a webpage using HTML/CSS/JavaScript

        Differentiate between back-end and front-end development

 

[SLO CS-10-C-02]

 

Standard: Students will develop, test, and debug static website (using HTML and CSS) and a dynamic website (using JavaScript)

 

Student Learning Outcome(s):

[SLO CS-10-C-02] Students should be able to use more advanced HTML/CSS features

Knowledge:

Students will understand…

        How HTML tags can be used to show tabular date

        How HTML can be used to retrieve inputs from users

        How to apply animation movements to HTML components

 

Skills:

Students will be able to…

        Create forms in HTML

        Create tables in HTML

        Create animations in CSS

 

Assessments

 

Formative Assessments

 

In class activities / practicals on the following topics:

        Create forms in HTML

        Create tables in HTML

        Create animations in CSS

        Draw a circle with CSS

 

Summative Assessments

Exam/quiz on

        How HTML tags can be used to show tabular date

        How HTML can be used to retrieve inputs from users

        How to apply animation movements to HTML components

Learning Activities

        In class / practical HTML Forms activity on this dynamic website: https://www.w3schools.com/html/html_forms.asp

        Populate form in HTML

        Populate tables in HTML

        Simple animation using CSS, i.e, change colour of button, translate a text horizontally from left to write.

        Develop three web pages, i.e., main_page.html, animation.html, and forms.html. Link all these pages and run it in the browser

        Write logical steps (algorithm) of translating text diagonally from top left corner to the bottom right corner

        In class activity / practical: Students can test out and try to recreate various CSS animation listed here: https://blog.hubspot.com/website/css-animation-examples

 

[SLO CS-10-C-03]

 

Standard: Students will develop, test, and debug static website (using HTML and CSS) and a dynamic website (using JavaScript)

 

Student Learning Outcome(s):

[SLO CS-10-C-03] Students should be able to use more advanced programming constructs (lists, etc.) in JavaScript to create dynamic websites

 

Knowledge:

Students will understand…

        How to create and use Arrays in JavaScript

        How to create and use bullet points in HTML

 

 

Skills:

Students will be able to…

        Create bullet points in HTML that are generated from an array in JavaScript

 

Assessments

 

Formative Assessments

In class activities / practicals on the following topics

        How to create and use Arrays in JavaScript

        How to create and use bullet points in HTML

 

Summative Assessments

In class activities / practicals / project which includes the following component:

        Create bullet points in HTML that are generated from an array in JavaScript

Learning Activities

  1. Make ordered and unordered lists in HTML, sample activities and code here:

    https://www.freecodecamp.org/news/html-list-how-to-use-bullet-points-ordered-and-unordered-lists/

 

[SLO CS-10-C-04]

 

Standard: Students will develop, test, and debug static website (using HTML and CSS) and a dynamic website (using JavaScript)

Student Learning Outcome(s):

[SLO CS-10-C-04] Students should be able to implement complex algorithms that use more complex data structures (lists, etc.) in JavaScript

Knowledge:

Students will understand…

        The array data structure is similar to a list

        Finding an element in a list requires iterating through entire list till the element is found

 

Skills:

Students will be able to…

        Describe an algorithm that finds an element in a list

        Implement an algorithm that finds an element in a list using JavaScript

 

Assessments

 

Formative Assessments

Quiz on the following topics:

        The array data structure is similar to a list

        Finding an element in a list requires iterating through entire list till the element is found

 

Summative Assessments

Quiz/exam / practical on the following topics:

Identify algorithms that finds an element in a list

Implement an algorithm that finds an element in a list using JavaScript

Learning Activities

  1. In class activity / practical: Students can test out code for search algorithms here

https://www.freecodecamp.org/news/4-methods-to-search-an-array/

  1. JavaScript drills:

    https://jsbeginners.com/javascript-projects-for-beginners/

  2. Starter projects in JavaScript that use lists:

    https://hackr.io/blog/javascript-projects

  3. Calculator:

    https://github.com/harsh98trivedi/Simple-JavaScript-Calculator

  4. Alarm clock in JS:

    https://github.com/swasti98/JS-Clock

 

[SLO CS-10-C-05]

 

 

Standard: Students will develop, test, and debug static website (using HTML and CSS) and a dynamic website (using JavaScript)

 

Student Learning Outcome(s):

[SLO CS-10-C-05] Students will determine more advanced techniques (unit tests, breakpoints, watches) for testing and debugging their code in JavaScript

 

Knowledge:

Students will understand…

        The purpose of a unit test

        Debugging allows them to analyze code as it runs

 

Skills:

Students will be able to…

        Write a unit tests for the functions in their code

        Set a breakpoint and use it to analyze intermediate values of variables in JavaScript

 

Assessments

 

Formative Assessments

Practical / lab exercises on identifying & resolving errors in computing problems using test functions and breakpoints.

 

Summative Assessments

Quiz / exam / practical on computing problems with errors and students to identify errors using test functions and breakpoints.

 

Learning Activities

        Basic workflow debugging for JavaScript programming (instructors can follow video and steps on this page: https://developer.chrome.com/docs/devtools/javascript/ ) to use breakpoints and watch expressions.

 

Domain D: Data and Analysis

[SLO CS-10-D-01]

 

Standard: Students will be able to understand how computer systems collect, store, process, visualize, and interpret data

Student Learning Outcomes: [SLO CS-10-D-01] Students will understand and explain the scope of data science, Artificial Intelligence (AI), and Machine Learning (ML). Including types of supervised and unsupervised learning models. Their applications to common real world problems.

Knowledge:

Students will understand

  1. Definitons of data science, artificial intelligence and machine learning. They will also learn to differentiate between the three fields and overlapping areas.

    1. Machine Learning skills include: understanding how to enable systems / machines to learn from large data, applying supervised and unsupervised learning algorithms, automation and scalability. Fraud Detection.

    2. Artificial intelligence skills include: teach machines to emulate human behavior e.g. natural language processing, chatbots, image recognition.

  2. Supervised learning and unsupervised learning models.

  3.  Churn prediction and behavioral segmentation models

 

 

Students will know

        The difference between data science, AI and machine learning. Recognize different types of supervised learning vs unsupervised learning models including algorithms.

        How to interpret the results from churn prediction and behavioral segmentation models

 

 

Skills:

Students will

  1. Differentiate between the three fields and overlapping areas.

  2. Students will be required to develop skills for data science including: Collecting, processing, analyzing, visualizing and understanding model outcomes (predictions / descriptive). 

  3. Interpret the results from Churn Prediction and behavioral segmentation.

  4. Recognize different types of supervised learning vs unsupervised learning models including algorithms.

  5. Define & describe machine learning skills such as understanding how to enable systems / machines to learn from large data, applying supervised and unsupervised learning algorithms, automation and scalability. Fraud Detection.

  6. Define & describe artificial intelligence skills such as teaching machines to emulate human behavior e.g. natural language processing, chatbots, image recognition.

 

 

 

 

Formative Assessments

Quiz assessment questions / inclass discussions on:

        Definitons, differences & similarities between data science, artificial intelligence and machine learning

        Supervised learning and unsupervised learning models.

        Churn prediction and behavioral segmentation models

 

Sample questions/topics could be:

        In class discussion - Describe why each field is important - can you see applications of each field in real life e.g. predicting who is going to win a cricket match (data science), automated fraud detection (machine learning) and chatgpt (AI). 

        In class discussion - Describe different algorithms pertaining to supervised learning vs unsupervised learning approaches e.g. simple linear regression, decision trees and k-means clustering.

        In class (group exercise)- discuss 5-10 different business problems and identify which field is most relevant to solve it. 

        Homework- Students can pick a business problem and explain whether it can be solved using supervised learning vs unsupervised learning algorithms.

 

Summative Assessments

Exam questions on topics such as:

        Differences and overlapping areas between the three fields of data science, artificial intelligence, and machine learning.

        Collecting, processing, analyzing, visualizing and understanding model outcomes (predictions / descriptive). 

        Interpret the results from Churn Prediction and behavioral segmentation.

        Recognizing different types of supervised learning vs unsupervised learning models including algorithms.

Sample questions/topics could be:

        Test understanding of different definitions and in depth understanding of skills required for each field.

        Provide 10 real business problems and identify the field (DS, ML and AI).

Learning Activities

        Focus on describing fields of data science, machine learning and artificial intelligence: https://www.youtube.com/watch?v=kNrw64dmfpk

        Case study 1: Churn Prediction: understand in detail all the steps required to build a successful churn prediction model and how it is an application of Data Science. Utilize data from : https://www.kaggle.com/c/customer-churn-prediction-2020

        Case study 2:  Fraud Detection: understand in detail all the steps required to build a successful fraud detection model and how it is an application of machine learning. Utilize data from:

https://www.kaggle.com/c/customer-churn-prediction-2020

        Case study 3: Chatbot: understand in detail all the steps required to build a successful chatbot and how it is an application of artificial intelligence. Utilize data from:

https://www.kaggle.com/code/rajkumarl/conversational-ai-chatbot

 

[SLO CS-10-D-02]

 

Standard: Students will be able to understand how computer systems collect, store, process, visualize, and interpret data

Student Learning Outcomes: [SLO CS-10-D-02]  Students will understand and explain the types, uses, methods of data visualizations, and understand the benefits of visualizing data

Knowledge:

Students will understand that data and data products (charts, graphs, statistics) can be analyzed and evaluated, similar to analyzing arguments.

 

Students will

 

  1. Know visualization techniques such as measures of center and spread, boxplots, bar plots , histograms, scatterplots, graphical summaries of multivariate data, side-by-side bar plots and association, scatterplots

  2.  Read plots (identify the name of the plot, interpret the axes, look for trends, identify confounding factors).

 

Skills:

Students will be able to…

        Understand the benefits of visualizing data and appropriate methods to create visualizations.

        Explain the differences in sorting, visualizing, and using data.

        Understand the connection of databases to machine learning.

        Represent data with plots on the real number line (dotplots, histograms, bar plots, and boxplots).

        Interpret differences in shape, center, and spread in the context of the data sets, accounting for possible effects of extreme data points (outliers).

        Represent data on two quantitative variables on a scatterplot and describe how the variables are related.

         Learn the difference between plots used for categorical and numerical variables. Interpret and understand graphs of distributions for numerical and categorical variables.

Assessments

List one example of how visualization can be used to increase data comprehension

 

Formative Assessments

none

 

Summative Assessments

Quiz # 1: Provide students with a visualization and a prompt. Ask them to create a narrative and  tell stories with data. (1) make assumptions about how the data was collected (2) identify any potential bias in the data (3) draw conclusions about the data

Quiz # 2: Read and critique a  published story with visualization (taken from e.g., newspaper, economist, business insider)

Learning Activities

  1. Inclass activity on what is data visualization by watching and sharing key learnings from video on subject which describes the importance of graphical representations of data, sample video:

    https://www.youtube.com/watch?v=xekEXM0Vonc

    ,

  2. What is the value of data visualization? Watch video:

    (569) The Value of Data Visualization - YouTube

    1. Have a whole class discussion regarding the video’s last statement: “Your message is only as good as your ability to share it.” Ask students: a. What does this statement mean? b. What makes a good message in terms of data and visualizations?

  3. More assessments and activities can be found here:

    Lesson 8: Tangible Plots - Introduction to Data Science Curriculum (idsucla.org)

 

[SLO CS-10-D-03]

 

Standard: Students will be able to understand how computer systems collect, store, process, visualize, and interpret data

Student Learning Outcomes [SLO CS-10-D-035]Students will be able to apply stages of the data science life cycle e.g. understanding a real world business problem, data gathering, building model, interpreting results).

 

Knowledge:

Students will understand

(1)    Different types of real world business problems and how to formulate them into a data science problem e.g. define a problem e.g. can you help calculate sales for next year. This becomes a sales predictive model.

(2)    Explain the data gathering step e.g. from retail stores asking for the last three years of sales data.

(3)    Explain what kind of algorithms are possible for example simple linear regression or decision tree.

(4)    Explain key metrics to look at for performance for example mean squared error and share steps to calculate them.

Skills:

        Students will be able to formulate a business problem into a data science problem, e.g. questions “my customers are leaving me” - this is a churn prediction model.

        Understand different steps required for data gathering including the source of data, query the data (sql), collect & store the data, format the data to make it ready for modeling.

        In building model key skills include: understanding of different data science algorithms, based on business problems, and identifying relevant algorithms.

        Calculate or generate key model metrics indicating model performance e.g. auc, roc, confusion matrix and mean squared error.

Formative Assessments

Quiz assessment questions / inclass discussions on:

        Formulation of real world problems into data science problems

        Data gathering and analysis through linear regression and/or decision trees.

        Performance calculations using mean squared error.

Sample question could be:

        Homework- Students can pick a business problem and describe each step of the data science life cycle. 

        In class discussion - Discuss 1-2 different business problems and formulate them into data science problems. E.g. for the next year sales for a retail store are going to increase to decrease, this is a sales prediction model.

 

Summative Assessments

Exam questions / projects on topics such as:

        Formulation of real world problems into data science problems

        Data gathering steps

        Building a data science model

        Generating key model metrics indicating model performance e.g. auc, roc, confusion matrix and mean squared error.

 

Sample question could be:

        Give a business problem and ask students to describe each step of the data science life cycle.

Learning Activities

        Teach students will learn how to ask questions from data: So Many Questions [The Data Cycle: Pose Questions]: Lesson 5: So Many Questions - Introduction to Data Science Curriculum (idsucla.org):

        Describe different steps required to build a predictive sales model discussed in detail in knowledge section.

        Students can be assigned End of Year Projects such as where they are expected to use skills learnt on a known dataset. Teachers can vary the requirements based on skills level: End of Unit 3 and 4 Design Project and Oral Presentation: Water Usage - Introduction to Data Science Curriculum (idsucla.org)

        Demonstrate the use of decision trees based on our earlier activity where they recognize whether a child is boy or girl by looking at their headshots – create a decision tree for this classification.

        Demonstrate the concept of k-means clustering in our earlier activity where we ake all the students in class and measure their heights (or weights since that will provide more variance but might be too personal). Now note all the heights and use a clustering algorithm to create 3 clusters (you can use k-means clustering for this). Now we can assign labels short, medium, and tall to the three clusters. Now take the height of the teacher and classify him as short, medium or tall.

        Similarly, liner regression can be demonstrated by showing the graph of a quantity like temperatures, stock prices, house prices (based on multiple features) and predict the same quantity for future time or a new house.

 

Domain E:  Applications of Computer Science

[SLO CS-10-E-01]

 

Standard:

Benchmark I: Students learn about different popular fields in Computer Science like AI, Cloud Computing, IoT, and Blockchain. 

Student Learning Outcome(s):

[SLO CS-10-E-01] Students should be able to describe applications that are enabled by technologies like IoT, Cloud Computing, and Blockchain

Knowledge:

 

Students will know…

        Applications that are enabled by blockchain

        Applications that are enabled by IoT

        The benefits of cloud computing

Skills:

Students will be able to…

        Name different technologies that use blockchains

        Evaluate if a scenario fits an application of IoTs

        Evaluate how we can use cloud computing

Assessments

 

Formative Assessments

Quiz assessment questions / inclass discussions on:

        Different technologies that use blockchains

        Evaluate if a scenario fits an application of IoTs

        Evaluate how we can use cloud computing

        Applications that are enabled by blockchain

        Applications that are enabled by IoT

        The benefits of cloud computing

 

Summative Assessments

Exam questions or project on applications of IOT, BlockChain, Cloud Computing

Learning Activities

  1. Student should use online tools like Google Docs and Google sheets to show them the benefits of cloud computing

  2. Present to students an IoT application like smart parking. Each parking spot has a sensor that can detect if the spot is occupied and uses have applications that can check open parking spots in a parking lot or garage. The students are then presented with a scenario of a smart home with Temperature sensors, fans and ACs that can be remoted controlled from a smart phone, and other household items like umbrellas, lunch boxes, fridges that are connected. Ask students to imagine applications that are enabled in such an environment.

 

[SLO CS-10-E-02]

 

Standard: Students learn about the importance of data and the social implications of using data to make decisions and provide services. 

Student Learning Outcome(s):

[SLO CS-10-E-02] Students will be able to identify sources of data and determine the effect of the source on the quality of data

Knowledge:

Students will understand…

        AI (Artificial Intelligence) and ML (Machine Learning) algorithm need both quality and quantity of data and automatic data collection allows us to collect massive amounts of data

        Data collected through sensors is less reliable since there are many environmental factors that affect data collected from sensors

        Collecting data from humans is a slow and tedious process

        Data collected from the web is often unreliable

 

Students will know…

        The tradeoffs made in collecting data from different sources

Skills:

Students will be able to…

        Compare the advantages and disadvantages of collecting data from different sources

 

Assessments

 

Formative Assessments

Quiz assessment questions / inclass activities / practicals on:

        Identifying sources of data and determine the effect of the source on the quality of data

        Comparing the advantages and disadvantages of collecting data from different sources

 

Summative Assessments

Exam questions or project on data collection sources & advantages / disadvantages of each

Learning Activities

 

  1. Have the students create a survey and have their families fill in the survey. Indicate to the students the cost of collecting this data and the amount of data collected

 

  1. Have each students collect data using a smart phone. Use one of the sensors on a smart phone to collect data every 10 seconds for 5 minutes. It would be better if they can do it with some code but that might not be practical. Indicate the amount of data the whole class collects in 5 minutes compared to the surveys.

 

  1. Have the students search of specific information about Pakistan on the web. Have the students categorize the information as accurate, inaccurate, and subjective.

 

[SLO CS-10-E-03]

 

Standard: Students learn about different popular fields in Computer Science like AI, Cloud Computing, IoT, and Blockchain.

Student Learning Outcome(s):

[SLO CS-10-E-03] Students will be able to explain how AI can be applied to specific applications in areas like NLP, Robotics, Speech Recognition, etc.

Knowledge:

Students will understand…

        Specific applications of speech recognition like personal assistants, Quran Memorization applications, Speech-to-text typing applications, Speech recognition for authentication, Speech recognition for surveillance and  national security, etc.

        Specific applications of NLP like email filtering to protect against spam and scams, Language translation, document analysis, predictive text, Sentiment analysis, etc.

        Applications of Robotics in rescue and search operations, industrial robotics for manufacturing, vacuum cleaners like Romba robotic operations, farming, etc.

 

 

 

Skills:

Students will be able to…

        Enumerate and explain the use of AI techniques in different real world applications.

 

Assessments

 

Formative Assessments

Quiz / inclass discussions and activities on AI applications

Summative Assessments

Exam questions on AI applications

Research project on AI can applications in areas like NLP, Robotics, Speech Recognition, etc.

Learning Activities

 

Students can watch different videos on how technology in different fields is automating tasks that were once done by humans.

 

[SLO CS-10-E-04]

 

Standard: Students learn about the importance of data and the social implications of using data to make decisions and provide services. 

Student Learning Outcome(s):

[SLO CS-10-E-04] Students will be able to demonstrate the social implications of AI

Knowledge:

Students will understand…

        that improper use of AI tools can result in injustice to specific groups of people.

        AI designers have a responsibility towards ensuring that their algorithms target human benefit

Skills:

Students will be able to…

        Show that there are instances where use of AI causes social injustices.

 

Assessments

 

Formative Assessments

Quiz / inclass discussions and activities on social implications of AI

Summative Assessments

Quiz / exam questions on social implications of AI (improper use, biased representation of data, targeting corporate benefits vs. human benefits, social injustice)

Learning Activities

 

  1. Read or explain case studies of how AI has discrimination. For example the COMPAS algorithm used in US course system. Amazon’s hiring system was biased against women is another case study.

 

Domain F:  Impacts of Computing

[SLO CS-10-F-01]

 

Standard Ethics and laws related to computing and the use of computing devices, media, data and the internet

Student Learning Outcomes

[SLO CS-10-F-01] Understand and apply safe & responsible use of the internet to prevent addiction, promote information and data security. Understand and apply strategies to prevent cyberbullying/harassment.

Knowledge:

Students will understand…

 

        The concerns of technology addiction

        The need for cybersecurity to protect data

        The ways in which the internet can be used to promote information for good and bad purposes

        The effects of threats to individual privacy and security of data from spam, spyware, cookies, etc.

        Basics of cloud computing and cloud security

 

Students will know…

        Basics of data, network and cyber security: backups, access, network monitoring, public and private clouds

        Use of hardware and software methods to protect devices

 

 

Skills:

Students will be able to…

        Analyze the impact of new technology laws on digital privacy and information security

        Explain safety and security concepts and strategies including peer pressure and cyberbullying in social media impacts lives

        Discuss the need for cybersecurity in relation to privacy and data security of information

        Compare ways software developers protect devices and information from unauthorized access

 

Assessments

 

Quiz 1 What is software piracy? Can you make an argument for the ethics of software piracy in a developing nation? Consider that in developing nations the only people who can afford to pay for software may be the very rich.

 

Quiz 2 What are some of the ways you can ensure safety and security when designing a computer application? List some cybersecurity tactics that can be helpful in the design of this application and why it is necessary to include them.

 

Quiz 3 List and explain the different cybersecurity methods that can be used for the secure transmission of data.

Quiz 4 Analyze and compare the cybersecurity measures for two computing systems or applications they have used. They will then provide recommendations for improvement.

 

 

Formative Assessments

The instructor can decide which assessments to use as formative.

 

Summative Assessments

End of unit projects where students will select and use an application they are not familiar with to assess its level of security. They will determine what kinds of cybersecurity measures are being used by the application and what kinds of security concerns they address.

Learning Activities

        Cyberbullying includes sending, posting, or sharing negative, harmful, false, or mean content about someone else.Cyberbullying and peer pressure through the internet has a real impact on human lives. Describe different ways you can think of that cyberbullying can take place in your schools.

        Divide students into groups and ask them to discuss the many things we can do to prevent cyber harassment to build a safe environment for everyone.

        Students should be advised on the best ways to report bullying in their schools. Share the school policy on preventing cyber bullying.

        Software piracy is the use or distribution of copyrighted computer software in violation of the copyright laws. Common forms include end user piracy, counterfeiting, and hard disk loading. Give examples of software piracy.

        Cybersecurity measures can include a range of tactics, such as:

        Using strong passwords

        Physically controlling access to data by using locked doors, keyed entrances etc.

        Put up a firewall

        Updating systems and software regularly

        Using encryption and decryption for transmitting sensitive data

Using a computer application as an example. List how these different measures have been taken to ensure security of user data.

        Cloud security has become a recent concern with the popularity of cloud computing. Students should discuss the benefits of cloud computing in class and analyze the advantages and disadvantages.They should be asked to compare different cloud platforms available to users. 

        Students have learned about different types of networks in previous domains. Students should be asked to list the different types of networks and what security concerns may exist for them when transmitting data.

        Students will describe how data can be damaged due to data corruption, human errors, malware and unauthorized access

        Students will list ways they can ensure data privacy online

        Students will discuss how hardware and software can be used to ensure security

        Students will construct strategies to prevent online cyberbullying/harassment

        Working in cooperative groups students will select an online social platform to analyze the benefits and harmful effects

 

[SLO CS-10-F-02]

 

Standard The environmental, cultural and human impact of computing and assistive technologies for the modern world

Student Learning Outcomes

[SLO CS-10-F-02]  Understand the role of  Assistive technologies and the different ways they address the needs of diverse users

 

Knowledge:

Students will understand…

        That assistive, adaptive, and rehabilitative devices are needed for people with disabilities and the elderly

Students will know…

        The different kinds of assistive technologies that exist today such as gesture based, voice recognition, speech assistants, language translation

 

 

Skills:

Students will be able to…

 

        Evaluate the designs of computing applications and devices based on their accessibility for a diverse population of users

        Design computing applications and devices for greater accessibility

Assessments

Formative Assessments

Quiz assessment questions / inclass discussions on assistive, adaptive, and rehabilitative devices

Sample question could be

        Quiz 1 What are some of the assistive technologies that are being used today? Can you provide examples from your daily life?

        Quiz 2 Select a computing application or device. Evaluate its accessibility for different kinds of users. Can you recommend design guidelines to make it more accessible?

        Homework Assignment In order to design for greater accessibility you need to understand the needs of users. Interview an elderly individual about their use of a computing application or device. How can you improve on the design of this technology to make it better for them?

 

Summative Assessments

Exam questions or practicals on topics such as:

        Evaluating the designs of computing applications and devices based on their accessibility for a diverse population of users

        Designing computing applications and devices for greater accessibility

Learning Activities

 

        Some examples of assistive devices include speech generating devices for individuals who have difficulty communicating using speech or assistive eating devices that can enable people to feed themselves if they have difficulty doing so . List down other assistive technologies that you may have seen or come across in your daily life.

        Read this article published by the World Health Organization on Assistive Technologies: https://www.who.int/health-topics/assistive-technology#tab=tab_2. Brainstorm ideas on one type of assistive technology and explain how that would impact the lives of people.

 

 

[SLO CS-10-F-03]

 

Standard The environmental, cultural and human impact of computing and assistive technologies for the modern world

Student Learning Outcomes

[SLO CS-10-F-03] Analyze the impacts of the digital divide on access to critical information

 

Knowledge:

Students will understand…

 

        Distribution of computing resources affects the way solutions are designed

        Inequitable Access to information  impacts human lives

 

Students will know…

        the meaning of the digital divide

Skills:

Students will be able to…

 

        Design computing applications that can take into consideration accessibility of information

        Strategize to alleviate the impacts of unequal access of information in creating computing solutions

Assessments

 

Formative Assessments

Quiz assessment questions / inclass discussions on:

        What is the digital divide and how does it impact issues of equity and inclusion?

        Impact of access to information on daily lives of people

        Design solutions changing based on the distribution of computing resources

 

Summative Assessments

Quiz / Exam / end of term projects on:

-          Digital divide and impact on issues of equity and inclusion

-          Design considerations when including accessibility of information

-          Impacts of unequal access of information in creating computing solutions

 

Sample question could be:

-          Does distribution of computing resources change the way people design solutions? For example, a person who does not have international phone service, but wants to talk with people from home can use a free phone app to make an online video call when both ends are connected to wifi.

Learning Activities

 

        Computer distribution differs by network availability, such as whether broadband is available, as well as hardware availability such as the number of households that have computers. The distribution of computing resources can increase the digital divide. As a class, discuss the impact of these different resources on the access to information. How does this impact equity ?

        People need to solve computing problems differently depending on their available resources. Compare two countries(developed vs developing) on how they may be addressing computing problems differently

 

 

Domain G: Digital Literacy

[SLO CS-10-G-01]

Benchmark I: Collect & analyze information and publish to a variety of audiences using digital tools and media-rich resources. 

Student Learning Outcomes: [SLO CS-10-G-01] Communicate and publish key ideas and details to a variety of audiences using appropriate digital tools and media-rich resources

Knowledge:

Students will understand…

        Understand how to conduct research on simple topics and extract key ideas, and present them in different formats

        How to identify key ideas and create appropriate copy and graphics to present an idea (e.g. communicating event information in a poster, or communiating product features in a billboard)

        Appropriate use cases of social media when communicating key ideas to various audiences (e.g. using YouTube to communicate an opinion via a podcast or using Instagram to show images related to a place or a product, or Facebook or TikTok to share information with a community etc.)

        Best practices in reaching audiences on various digital platforms

Skills:

Students will be able to…

        Conduct research on simple topics, extract key ideas, and create appropriate copy & graphics to present an idea to various audiences in different formats across various social media platforms (e.g. YouTube, Facebook, Instagram, etc.)

Assessments

 

Formative Assessments

        In class assignments / projects using image processing tools to communicate an idea using appropriate copy and social media platform to reach the intended audience

        Quiz on case studies of successful social media advertising campaigns

 

Summative Assessments

        Case studies of digital artefacts testing student knowledge for (1) best tools to communicate various types of information (2) Appropriate use of tools (i.e. layouts, formatting, editing, graphics, appearance & alignment etc.)

        Practical: summative project submission of a key idea using an appropriate digital tool

Learning Activities

  1. Design a graphic to put on a billboard of a popular brand

  2. Create a social media post for a popular brand

  3. Create a new product for a popular brand and present it to the company management using a presentation, create an Instagram post, and a short advertisement video

 

Grade 11

Domain A: Computing Systems

[SLO CS-11-A-01]

 

Standard 1: Students will understand and explain the various components of a computer system and the different levels of interactions between these. They will have a basic understanding of digital logic, the different stages of the software life cycle and the concepts of scalability, reliability and security for computer systems.

Student Learning Outcome(s):

[SLO CS-11-A-01] Students will be able to understand and apply uses logic gates in digital systems, defining and create truth tables using Boolean operators like AND, OR, NOT, NAND, XOR) and logic diagrams

Knowledge:

Students will understand that

        What is digital logic

        What makes analog and digital signals different

        What are logic gates

        What are truth tables

        What are switches

 

Students will know

        Key terms: Karnaugh maps, AND, OR, NOT, NAND gates, XOR, switches.

        How to create truth tables

        How to identify logic gates and understand their usage

Skills:

Students will be able to

        Identify different logic gates and explain their uses

        Create truth tables for expressions

        Draw logic gates for a boolean expression

        Draw a truth table for a logic gate to identify the outputs

Assessments

Formative Assessments

Quiz questions on the following topics:

        Which logic element describes 2 or more normally closed switches in parallel?

        Which logic element describes 2 or more normally closed switches in series?

        What type of logic element uses a relay?

        Which logic element describes a circuit with 2 normally open switches in series?

        What is a Karnaugh map?

        What is a Node?

        What is a switch?

        What is a truth table?

       

Create a truth table for a given expression

Summative Assessments

Quiz / Exam / Practicals on:

        Identifying different logic gates and explain their uses

        Create truth tables for expressions

        Draw logic gates for a boolean expression

        Draw a truth table for a logic gate to identify the outputs

Learning Activities

        In-class activity: Instructor-led video viewing and discussion about logic gates: https://www.youtube.com/watch?v=gI-qXk7XojA

        In-class activity: Instructor-led video viewing and discussion about how to create a truth table for an expression: https://www.youtube.com/watch?v=VCEYeB3bRW0

        In-class activity: Instructor-led video viewing and discussion about Karnaugh Maps: https://www.youtube.com/watch?v=3vkMgTmieZI

        In-class activity: Create truth table in class together

        In-class activity: Review lab on AND gate with bread-board and resistor. Discuss what is a bread-board, resistor and what other practical labs can be done (for example NOT gate practical, NAND gate etc): https://www.youtube.com/watch?v=aMVgrSU2PLc&list=PLe_7x5eaUqtVgVnAccC-emHekNNzVbHq_&index=2

 

[SLO CS-11-A-02]

 

Standard 1: Students will understand and explain the various components of a computer system and the different levels of interactions between these. They will have a basic understanding of digital logic, the different stages of the software life cycle and the concepts of scalability, reliability and security for computer systems.

Student Learning Outcome(s):

[SLO CS-11-A-02] Students will be able to understand and evaluate stages of the systems design, e.g. software product development life cycle (analysis, design, coding, and testing), and software development methodologies

Knowledge:

Students will understand that

        What is a Software Development Life Cycle (SDLC)

        What are the different activities involved in each phase of the SDLC

        What are basic software processes and software process models

        What are graphical ways to represent software systems (UML diagrams)

 

Students will know

        Key terms: SDLC, bug, Agile, Waterfall, debugging, testing, design patterns, UML.

        Key activities in software development and the role of software development processes

        The engineering nature of software development

        Key concepts in software development such as risk and quality

Skills:

Students will be able to

        Explain the different stages of SDLC in detail (analysis, design, coding, testing)

        Explain common software development processes (agile etc)

        Explain common software design patterns (e.g. singleton, factory etc)

        Plan a software project from beginning (design) to end (test and launch)

Assessments

Formative Assessments

Quiz questions on the following topics:

       

If requirements are validated against the problem, and the implemented system is verified against those requirements, then the system should indeed be addressing the problem. Why then do we still need to validate the system against the problem during testing?

What do you think the quality expectations for an air traffic control software system might be? What about those for a personal diary mobile app? How are these different?

        Name 3 software development processes and explain their key characteristics and differences

        Give an example of 3 common design patterns and when should they be applied

        What is the difference between software analysis and software design? What are some techniques used to design systems?

 

Summative Assessments

Exam / end of module quiz questions:

        Different stages of Software Development Life Cycle (SDLC) in detail (analysis, design, coding, testing)

        Common software development processes (agile etc)

        Common software design patterns (e.g. singleton, factory etc.)

 

Practicals / activity / research project including an element of:

        Software project from beginning (design) to end (test and launch)

Learning Activities

  1. In-class activity

    : Share a snippet of code with a bug in it and ask the class to identify the bug through debugging techniques that have been taught

  2.  In-class activity: Share examples of different types of applications and all the ways these can be tested

  3. In-class activity

    : Design a library system to search and retrieve books. Discuss with class how to do analysis, design, implementation, testing and then launch.

 

[SLO CS-10-A-03]

 

Standard 1: Students will understand and explain the various components of a computer system and the different levels of interactions between these. They will have a basic understanding of digital logic, the different stages of the software life cycle and the concepts of scalability, reliability and security for computer systems.

Student Learning Outcome(s):

[SLO CS-10-A-03] Students will identify and apply common software tools such as translators, integrated development environments, online and offline computing platforms, code repositories etc.

Knowledge:

Students will understand that

        The types of software and how they are different

        Where software is hosted and pros and cons of on premise vs. in cloud

       

How programming software helps them write code that can then get compiled.

Students will know

        Key terms: System software, programming software, application software, driver software, Freeware, Shareware, Open Source, Proprietary Software, Desktop applications, Mobile applications, Browsers, Client Server applications, Websites, Cloud, Software as a service.

        Difference between on premise and hosted application software

        What applications can be used without internet(offline) and which require internet to work (online)

Skills:

Students will be able to

        Explain the difference between system software, programming software, application software and driver software.

        Identify common examples of the different types of applications

        Build familiarity with a number of different application software used for specific productivity tasks (Microsoft Office, Photoshop, Zoom, Chrome, gmail, Twitter etc)

        Build familiarity with programming software such as language editors, debuggers, compilers, IDEs, source code repositories and build systems (e.g. Eclipse for Java, Coda for Mac, Visual Studio for multiple languages, github for source code)

Assessments

Formative Assessments

Quiz questions on the following topics:

        A user calls to tell you that everytime they browse the internet a window pops up on the screen even though he has not clicked anything. What is the issue here and how should you fix the problem?

        What software is designed to let the operating system talk to hardware?

        What is an application patch?

        Word processing, spreadsheets and presentation software are examples of what types of software?

        What kind of software does not require users to pay for it?

        When thinking of software compatibility, which two factors matter the most?

        What is the difference between on-premise hosted vs. cloud hosted?

        What is a debugger? Give an example

        What is a compiler? Give an example

 

Practicals / activity involving an element of:

        Programming software such as language editors, debuggers, compilers, IDEs, source code repositories and build systems (e.g. Eclipse for Java, Coda for Mac, Visual Studio for multiple languages, Github for source code)

 

Summative Assessments

Exam / end of module quiz questions on topics related to:

        Differences between system software, programming software, application software and driver software.

        Common examples of the different types of applications

        Uses of application software used for specific productivity tasks (Microsoft Office, Photoshop, Zoom, Chrome, gmail, Twitter etc)

Learning Activities

In-class activity: Instructor-led video viewing and discussion about how software works: https://youtu.be/xnyFYiK2rSY

In-class activity: Instructor to demonstrate how to install software and demo common programming software for students to try hands on. Build a hello world program in python and ask students to follow along

In-class activity: Instructor-led video viewing and discussion about top 5 programming tools for new coders: https://www.youtube.com/watch?v=WWy7ZWQiG8s

 

[SLO CS-11-A-04]

 

Standard 1: Students will understand and explain the various components of a computer system and the different levels of interactions between these. They will have a basic understanding of digital logic, the different stages of the software life cycle and the concepts of scalability, reliability and security for computer systems.

Student Learning Outcome(s):

[SLO CS-11-A-04]  Understand and explain the need for cybersecurity and contrast different methods of encryption to transmit data

Knowledge:

Students will understand that

        What is cybersecurity and encryption

        What are some ways a system can be attacked

        What are basic security frameworks

        What is security analysis and how can you proactively protect your systems against cyber attacks

        Data policies and privacy policies can help keep your information safe

 

Students will know

        Key terms: Cryptography, 2FA, firewall, DDoS, Hacking, Authentication, Authorization, Hashing, Malware, Phishing, XSS, Plaintext, Ciphertext, Encryption, Decryption ….

        Basic cyber attacks and how to protect against them

        How to protect sensitive apps and data through strong passwords, 2 factor authentication and encryption techniques.

Skills:

Students will be able to

        Protect their computers and setup online access taking into account the security risks they are prone to

        Understand how basic cyber attacks are constructed and applies to real systems

        Analyze cyber security risk and create a plan to prioritize risk decisions

        Understand basic encryption techniques and algorithms used to protect sensitive data

Assessments

 

Formative Assessments

Quiz questions on the following topics:

        What is phishing and how do you protect against it?

        What is DDOS and how do you protect against it?

        What software can prevent you from getting unwanted emails?

        What are some ways a virus can infect your computer?

        When should data be encrypted?

        If the word "NEOMAN" is coded as "OGRQFT" then which word will be coded as "ZKCLUP"?

        What are 4 basic types of encryption systems?

        Name and describe 3 common cryptographic algorithms

        What is hashing?

        What are digital signatures?

 

Summative Assessments

Practicals on topics related to:

        Protecting computers

        Setup online access taking into account the security risks they are prone to

 

Exam / end of module quiz questions on topics related to:

        Basic cyber attacks are constructed and applies to real systems

        Analyzing cyber security risk and create a plan to prioritize risk decisions

        Understand basic encryption techniques and algorithms used to protect sensitive data

Learning Activities

  1. In-class activity

    : Listen to this podcast about the Equifax data breach and discuss its impact and how it could have been prevented:

    https://www.carbonite.com/podcasts/breach/s02e03-Equifax-data-breach

  2. In-class activity

    :View and discuss this video on cybersecurity and crime:

    https://www.youtube.com/watch?v=AuYNXgO_f3Y

  3. In-class activity

    :View and discuss this video on encryption and public keys:

    https://www.youtube.com/watch?v=ZghMPWGXexs

  4. In-class activity

    :View and discuss 7 key cryptography concepts developers should know:

    https://www.youtube.com/watch?v=NuyzuNBFWxQ

 

Domain B: Computational Thinking & Algorithms

[SLO CS-11-B-01]

 

Standard 2:Students will understand and apply common artifacts and algorithms used in solving computational problems

Student Learning Outcomes [SLO CS-11-B-01]  Plan, develop, systematically test, and refine computational artifacts for problem-solving such as pseudocode and flowcharts, etc.

Knowledge:

Students will understand

1)      How to use different methods to design and construct a solution to a computational problem

2)      How to construct a solution and write pseudo code using the correct font, size, style, indentation, case, line numbers, comments, data type key words, variable assignments & declarations, common operators, and key commands

3)      Identify common flow chart symbols and represent the instructions executed by an object using flowcharts

Skills:

Students will be able to

1)      Create psuedocode to address computational problems in the correct font, size, style, indentation, case, line numbers, comments, and data type key words assignments & declarations

2)      Construct flowcharts to solve computational problems

Assessments

 

Formative Assessments

Quiz questions on the following topics:

1)      What is the difference between pseudocode and algorithm?

2)      Write a pseudocode to output odd integers from 0 to 100?

3)      Write an algorithm to “rock, paper, scissor” game

 

Summative Assessments

Practical activities on topics such as:

1)      Write down the algorithm to solve tic tac toe game

Learning Activities

1)      Interpreting word problems in code: https://docs.google.com/document/d/1_Hu-ZJz2p4dyYzyYgjZeORWuLX8PVfcFn7i8MZpPFHM/edit

2)      Write a Pseudo-code?

     Arrange the sequence of tasks and write the pseudocode accordingly.

     Start with the statement of a pseudo code which establishes the main goal or the aim. Example: If case is 1 then print “I am case 1” else print “I am not case 1”

3)      Reinforcement on the previous topics i.e., algorithmic approaches with new examples

 

[SLO CS-11-B-02]

 

Standard 2:Students will understand and apply common artifacts and algorithms used in solving computational problems

Student Learning Outcomes [SLO CS-11-B-02] Identify and apply common search and sort algorithms

Knowledge:

Students will understand

1)      Algorithmic approaches to solve practical exercises of algorithms

2)      Search algorithms

3)      Sorting algorithms

Skills:

Students will be able to

1)      Use and adapt classic algorithms to solve computational problems (e.g. sorting and searching)

 

Assessments

 

Formative Assessments

Quiz questions on the following topics:

        What are the definitions and applications of various searching & sorting algorithms?

Practical exercises such as:

        Apply algorithmic thinking to use algorithm approaches to handle complex problems such as:

        Sort following array {1, 5, 3, 2}

        Search for the number 5 in {2, 1, 5, 3, 2, 4, 5}

 

Summative Assessments

Practical exercises for applying algorithmic thinking to create search & sort algorithms

Learning Activities:

 

1)      Write pseudocode for solving simple word problems, sample exercises here: https://olevelcomputerscience.files.wordpress.com/2015/09/pseducode.pdf

 

Domain C: Programming Fundamentals

[SLO CS-11-C-01]

 

Standard: Students will develop, test and debug command-line interface (CLI) applications in Python

Student Learning Outcome(s):

[SLO CS-11-C-01]Students should be able to reason why we should write computer programs and how we determine what these programs should do

 

Knowledge:

Students will understand…

        Programs use the basic components of a computer to take inputs, process the input, and produce output

        The Agile and Waterfall are models of the Software Development Lifecycle and are used to gather requirements and implement software

 

Skills:

Students will be able to…

        Take a real world problem, propose a software solution and implement it.

 

Assessments

 

Formative Assessments

Quiz questions on the following topics:

        Basic components of a computer program

        Agile and Waterfall processes in gathering software requirements

 

Summative Assessments

Practical exercises such as:

        Apply an agile / waterfall models to gather software requirements

        Take a real world problem, propose a software solution and implement it.

Learning Activities

  1. Summarize or present in groups differences between Agile & Waterfall processes. Sample analysis is here: 

    https://www.forbes.com/advisor/business/agile-vs-waterfall-methodology/

  2. Watch a video on gathering requirements in the software development process, example:

https://www.pearson.com/channels/product-management/learn/Mariya/4-requirements-gathering-and-maintenance/42-scope-management-in-agile-vs-waterfall

 

[SLO CS-11-C-02]

 

Standard: Students will develop, test and debug command-line interface (CLI) applications in Python

Student Learning Outcome(s):

 [SLO CS-11-C-02] Students should be able to write and execute simple programs in Python.

 

 

Knowledge:

Students will understand…

        Variables in Python

        Sequence, Selection, Repetition in Python

 

Skills:

Students will be able to…

        Write and execute a program in Python that uses variables, sequence, selection and repetition

 

Assessments

 Quiz questions on the following topics:

        Variables in Python

        Sequence, Selection, Repetition in Python

 

Summative Assessments

Practical exercises such as:

        Write and execute a program in Python that uses variables, sequence, selection and repetition

Learning Activities

        Instructor can request students to code geginner projects in Python, examples here: https://www.dataquest.io/blog/python-projects-for-beginners/

        https://www.freecodecamp.org/news/python-projects-for-beginners/

        https://www.upgrad.com/blog/python-projects-ideas-topics-beginners/

 

[SLO CS-11-C-03]

 

Standard: Students will develop, test and debug command-line interface (CLI) applications in Python

Student Learning Outcome(s):

[SLO CS-11-C-03] Students should be able to draw shapes using Turtle Graphics functions in Python

Knowledge:

Students will understand…

        How to create shapes by means of instructions to a “turtle” to move in a given direction

        How to create more complex shapes by allowing the “turtle” to lift the pen while moving

Skills:

Students will be able to…

        Write and execute a program in Python to create complex shapes using the Turtle library

 

Assessments

 

Formative Assessments

Quiz questions on the following topics:

        How to create shapes by means of instructions to a “turtle” to move in a given direction

        How to create more complex shapes by allowing the “turtle” to lift the pen while moving

 

Summative Assessments

Practical exercises such as:

        Write and execute a program in Python to create complex shapes using the Turtle library

Learning Activities

1)      In-class Exercises using Turtle library, example exercises:

a)       https://realpython.com/beginners-guide-python-turtle/

b)      https://www.vivaxsolutions.com/web/python-turtle.aspx

 

[SLO CS-11-C-04]

 

Standard: Students will develop, test and debug command-line interface (CLI) applications in Python

Student Learning Outcome(s):

[SLO CS-11-C-04] Students should be able to understand the need for libraries and learn the use of some simple libraries in Python.

 

 

Knowledge:

Students will understand…

        The concept of abstraction allows the use of complex libraries without knowing their internal implementation

 

Skills:

Students will be able to…

        Find and use a third party Python library that is simple to use but has a complex implementation

 

Assessments

 

Formative Assessments

Practicals / exercises on:

        Importing & using libraries

        Find and use a third party Python library that is simple to use but has a complex implementation

 

Summative Assessments

        Practical exercises that have an element of using a library or designing your own library

Learning Activities

  1. In-class research project, what is a library and why are they used?

    https://careerfoundry.com/en/blog/web-development/programming-library-guide/

  2. Top 30 Python libraries:

    https://www.mygreatlearning.com/blog/open-source-python-libraries/

  3. In-class video on how libraries work:

    https://www.youtube.com/watch?v=4oXc3EpUN4E

 

[SLO CS-11-C-05]

 

Standard: Students will develop, test and debug command-line interface (CLI) applications in Python

Student Learning Outcome(s):

[SLO CS-11-C-05]  Students should be able to translate algorithms that use sequence and repetition in Python.

Knowledge:

Students will understand…

        What are variables, sequence, repetition, and lists in Python

        How to use sequence and repetition to manipulate lists in Python

 

 

Skills:

Students will be able to…

        Write and execute a Python program that uses variables, sequence and repetition to populate a list

        Write and execute a Python program that uses variables, sequence and repetition to find an element in a list

Assessments

 

Formative Assessments

Practical exercises such as:

        Use sequence and repetition to manipulate lists in Python

        Write and execute a Python program that uses variables, sequence and repetition to populate a list

Summative Assessments

Practical exercises such as: Write and execute a program in Python that uses variables, sequence, selection and repetition

Learning Activities

1)      Writing python script (https://www.w3schools.com/python/)

2)      Talk about (https://www.w3schools.com/python/)

a)       Variables

b)      Data types

c)       Arrays

d)      If condition

e)       If-else condition

f)       Function

3)      Sequence, Selection, Repetition in Python (https://austincode.com/itse1359/sequence-selection-repetition.php)

 

[SLO CS-11-C-06]

 

Standard: Students will develop, test and debug command-line interface (CLI) applications in Python

Student Learning Outcome(s):

[SLO CS-11-C-06] Students should be able to decompose a problem into sub-problems and implement those sub-problems using functions in Python.

 

Knowledge:

Students will understand…

        How to write a function

        Why we need functions

        How to identify duplication in their code

        How to move duplicated code into a function

        How to invoke the function

Skills:

Students will be able to…

        Write a Python program that invokes functions within loops

 

 

Assessments

 

Formative Assessments

Quiz questions / Practical exercises such as:

        How to write a function?

        Why do we need a function?

        How a function is called in the program?

        What is the scope of function?

        What is the scope of variable

 

Summative Assessments

Practical exercises such as: Write a functions add, subtract, multiply and divide and call them in the script to perform calculations

 

Learning Activities

1)      Revise functions

2)      Establish importance of functions

3)      Different terminologies to the functions

4)      Define “scope”

5)      Define scope of variables and functions with examples

6)      Define “naming conventions”, such as CamalCascadeing, camelCascading and so on.

7)      Writing a function in python

8)      Converting a duplicate code into a function

9)      Calling a function

10)  Function types

11)  Function parameters

12)  Passing parameters in function

13)  Return type of a function

14)  Passing by value and passing by reference

15)  Practical examples

 

[SLO CS-11-C-07]

 

Standard: Students will develop, test and debug command-line interface (CLI) applications in Python

Student Learning Outcome(s):

[SLO CS-11-C-07] Students will determine ways of testing and debugging their code in Python

Knowledge:

Students will understand…

        Code written outside of a function is hard to test

        Code written inside a function can be tested

        That they can write code that calls functions to ensure the results are correct

        Using a debugger allows programmers to set a breakpoint to stop execution of their code to see the state of variables mid-execution for the purpose of discovering errors in their code

 

Skills:

Students will be able to…

        Write code to invoke functions and check their return values for correctness

        Read through code and dry-run by hand to find bugs

Assessments

 

Formative Assessments

Practical / lab exercises on identifying & resolving errors in computing problems using test functions and dry-run.

 

Summative Assessments

Quiz / exam / practical on computing problems with errors and students to identify errors using test functions and breakpoints.

Learning Activities

        Class activity for variable dry-run in Python, lesson plan here: https://teachinglondoncomputing.files.wordpress.com/2014/05/activity-assignmentdryrunpython.pdf

 

 

 

Domain D: Data and Analysis

[SLO CS-11-D-01]

 

Standard: Students will be able to understand how computer systems collect, store, process, visualize, and interpret data

Student Learning Outcomes: [SLO CS-11-D-01] Students will understand the role and importance of model building and their real world applications

Knowledge:

Students will understand how statistical modeling can find relationships between real world events and can be used to make recommendations based on statistical findings. They will learn the use cases for modeling, when they can be used, which models fit which use cases and basic statistical techniques such as linear regression and multiple linear regression.

 

 

 

Students will know:

        The linear relationship between variables (using correlation coefficients and build the y= mx + c using slope and intercept)

        The structure of linear models, K-means, Smoothing

        Basics of the structure of logistic models

        Modeling real world data using a statistical package

        Generate conclusions from the model output

 

Skills:

Students will be able to:

 

        Use statistical tests to evaluate real world events

        Use the information from one variable to make predictions about another variable (fitting a line to understand the relationship between two variables and use the correlation coefficient to access the linear association)

        Identify the slope and intercept for the linear relationship

        Build their first statistical model (R, Python, or Microsoft Excel)

        Interpret the results of the model including statistical significance and beta values

        Draw conclusions from the model output to inform real world policies

 

 

Assessments

 

Formative Assessments

 

Lab Exercises in R or Python (Jupyter Notebooks)

        Lab#1: Coding exercise:

        LAB 4A: If the Line Fits… - Introduction to Data Science Curriculum (idsucla.org)

        Lab#2: Coding exercise: LAB 4B: What’s the Score? - Introduction to Data Science Curriculum (idsucla.org)

        Lab#3: Coding exercise: LAB 4D: Interpreting Correlations - Introduction to Data Science Curriculum (idsucla.org)

 

In class discussion: Using a data set, represent data on two quantitative variables on a scatter plot, and describe how the variables are related.

  1. Fit a function to the data; use functions fitted to data to solve problems in the context of the data. Use given functions or choose a function suggested by the context. Emphasize linear models.

  2. Informally assess the fit of a function by plotting and analyzing residuals.

  3. Fit a linear function for a scatter plot that suggests a linear association.

  4. Judge whether or not the linear model is appropriate. Learn to interpret a correlation coefficient in a linear model and interpret slope and intercept. Evaluate the strength of a linear association. Evaluate the potential error in a linear model.

 

Summative Assessments

Lab Quiz: Similar Labs can be given as a “Interpreting Correlations”: using a different data set the students may have not seen before

Learning Activities

  1. Students will identify an official data set. e.g. students will begin to analyze an official data set from 2010 provided by the Los Angeles Department of Water and Power (DWP) to help them understand how water was used in the Los Angeles area in the recent past, before the drought. Materials: Video: California Drought Crisis Reaches Worst Level as It Spreads North

    https://www.nbcnews.com/storyline/california-drought/california-drought-crisis-reaches-worst-level-it-spreads-north-n169516

  2. Statistical Predictions using one variable:

    Lesson 5: Statistical Predictions Using One Variable - Introduction to Data Science Curriculum (idsucla.org)

  3. Statistical Predictions using two variables:

    Lesson 7: Statistical Predictions Using Two Variables - Introduction to Data Science Curriculum (idsucla.org)

  4. See the Labs 3.6.1-3.6.3 in Book:

    An Introduction to Statistical Learning: with Applications in R | SpringerLink

    . This book can be downloaded online via this link.

 

[SLO CS-11-D-02]

 

Standard: Students will be able to understand how computer systems collect, store, process, visualize, and interpret data

Student Learning Outcomes [SLO CS-11-D-02] Students will understand and explain experimental design in data science

Knowledge:

Students will understand

  1. The importance of experimentation in data science as a tool to differentiate between correlation and causation.

  2. Measures used in experimentation

  3. Real work experimentation examples

  4. How to do their own experiments through in-class activities

 

Student will

  1. Students will learn about the elements of an experiment and the meaning of "causation". Students will learn to distinguish claims of causation from claims of association.

  2. Students will learn about data collection methods, including traditional methods of designed experiments and observational studies and surveys. Students will learn about sampling error and bias, which cause problems in analysis made from survey data.

  3. Understand statistics as a process for making inferences about population parameters based on a random sample from that population.

  4. Recognize the purposes of and differences among sample surveys, experiments, and observational studies; explain how randomization relates to each.

  5. Apply a real world business problem where experimentation is used. (eg. Facebook, YouTube, online retail)

 

Skills:

Students will be able to

        Differentiate between correlation and causation

        Compare and contrast population vs. sample

        Compare and contrast parameter vs. statistic.

        Explain situations where one measure of central tendency or spread may be more appropriate than others.

        Read/interpret boxplots (In-depth look into samples size and their relationship to the population parameters).

        (Advanced) Identify reports that use special data structures (census, survey, observational study, and randomized experiment).

        (Advanced) Use RStudio to re-randomize data.

        (Advanced) Compute measures of central tendency and spread in RStudio.

Assessments

 

Formative Assessments

Quiz assessment questions / inclass discussions on:

        Correlation vs. causation

        Measures used in experimentation

        Real work experimentation examples

        Data collection methods, sampling error and bias

        Statistical inferences using random population samples

        Purposes of and differences among sample surveys, experiments, and observational studies and how randomization relates to each.

        Apply a real world business problem where experimentation is used. (eg. Facebook, YouTube, online retail)

 

Sample question could be:

        Give students a statement similar to learning activity #7. Test on the following questions:

        What is the headline implying with its wording?

        Is it implying causation or association?

        How can you tell the difference between causation and correlation?

        In Class Group Assignment to test understanding of Experimentation: Practicum: Music to my Ears - Introduction to Data Science Curriculum (idsucla.org)

 

Summative Assessments

Exam questions on topics such as:

        Differentiate between correlation and causation

        Compare and contrast population vs. sample

        Compare and contrast parameter vs. statistic

        Read/interpreting boxplots

 

Sample question could be:

        Give students a prompt, “How can Company X improve their website using an experiment?” Have students apply the elements of the experiment to this prompt.

        Lab Exercise: Give the students a dataset with A/B testing result data. Have them report on the results of the experiment. They should provide 2 visualizations to accompany the results.

Learning Activities

  1. Read published articles on Experimental design:

    Statistics - Experimental design | Britannica

https://www.britannica.com/science/statistics/Experimental-design

  1. Give a brief introduction into “what is an experiment”.

    Experimental Design Steps & Activities | Scientific Method Steps (storyboardthat.com)

    https://www.storyboardthat.com/articles/e/experimental-design

  2. Create a scenario descriptive or through a video (e.g.

    Lesson 2: What Is an Experiment? - Introduction to Data Science Curriculum (idsucla.org)

    ) where an experiment is conducted. Guide students to identify the elements of an experiment by referring back to the video clip:

    1.  Research Question—What is the question to be answered by the experiment?

    2. Subjects – people or objects that are participating in the experiment

    3. Treatment – the procedure that is assigned to a group of subjects

    4. Treatment group – the group of subjects that receive the treatment

    5. Control group – the group that does not receive a treatment

    6. Random assignment – subjects are randomly assigned to either the treatment or control group (two out of every three subjects received the treatment)

    7. Outcome – the variable that the treatment is meant to influence.

    8. Statistic—A method for comparing the outcomes of the control and treatment groups is needed

  3. Give students a real world experimentation A/B testing example.

    1. Have a discussion about population vs. sample, parameter vs. statistic and situations where one measure of central tendency or spread may be more appropriate than others.

  4. Lesson 3:Let’s Try an Experiment! - Introduction to Data Science Curriculum (idsucla.org)

  5. Lesson 4: Predictions, Predictions - Introduction to Data Science Curriculum (idsucla.org)

    1. As part of this exercise students will continue to read articles critically. They will anticipate visualizations about the data that will be collected from the class experiment and make predictions about the outcome.

  6. In class discussion: Show students the following headlines or any others that are similar in verbage

1.       Stop Global Warming: Become a Pirate

2.       Lack of sleep may shrink your brain

3.       Early language skills reduce preschool tantrums

4.       Dogs walked by men are more aggressive

             Discuss each headline by asking the following questions:

1.       What is the headline implying with its wording? 1a is implying that you can stop global warming by becoming a pirate, 1b is implying that it’s possible to shrink your brain if you aren’t getting enough sleep, 1c is implying that having early language skills will decrease preschool tantrums, 1d is implying that dogs are more aggressive when they’ve been walked by men.

2.       Is it implying causation or association? Discuss definitions of causation and association. Causation means there is a cause and effect relationship between variables. For example, heat causes water to boil; whereas association or correlation means that high values of one variable tend to be associated with high values of the other (or high values tend to be with low values). However, this is not necessarily cause-and-effect at play. For example, blanket sales in Canada are associated with brush fires in Australia - not because Canadian blankets cause the fires, but because Canadian winters cause blanket sales, and Canadian winters are Australian summers, which cause fires. 1a, 1c and 1d are implying causation and 1b is implying association.

3.       How can you tell the difference between causation and correlation? What words stand out in these headlines? Answers will vary but some terms for causation include: cause, increase/ decrease, benefits, impacts, effect/ affect, etc.; and for correlation include: get, have, linked, more/ less, tied, connected, etc. In 1a, “become” stands out; in 1b, “may” stands out; in 1c, “reduce” stands out; in 1d, “are” stands out.

4.       Change each causal version of a headline into a non-causal version and vice versa. Answers will vary but an example for 1a is to instead say Global Warming linked to increase of pirates.

 

[SLO CS-11-D-03]

 

Standard: Students will be able to understand how computer systems collect, store, process, visualize, and interpret dataStandard ?

Student Learning Outcomes:   [SLO CS-11-D-03]Students will understand and explain the types, uses, methods of data visualizations, and understand the benefits of visualizing data through descriptive statistics

Knowledge:

Students will understand

        Definitions and analysis of data and data products (charts, graphs, statistics)

        How to construct multiple views of data

        How to use analyze data through computational tools such as Excel, Google Sheets, R, or Python

 

Students will

 

  1. Apply their knowledge of visualization techniques (such as measures of center and spread, boxplots, bar plots , histograms, scatterplots, graphical summaries of multivariate data, side-by-side bar plots and association, scatterplots) to data

  2.  Read plots (identify the name of the plot, interpret the axes, look for trends, identify confounding factors).

  3. Use visualization to tell stories with data

  4. (Advanced) Create basic plots in RStudio

  5. (Advanced) Create frequency tables in RStudio

  6. (Advanced) Critically read reports from media sources to evaluate their claims and communicate their evaluations in written or verbal form using different types of media

 

Skills:

Students will be able to…

        Collect, clean and manipulate data using tools such as Excel, Google Sheets, R, or Python

        Analyze data using statistical techniques and create visualizations to communicate their findings

        Understand the connection of databases to machine learning.

        (Advanced) Understand how evidence was collected, what the perspective or bias of the creator might be and look behind the scenes to the process used to create the product. Even the way data are represented embeds within it decisions on the part of the data creator.

 

 

 

Assessments

 

 

Formative Assessments

Quiz assessment questions / lab or practical exercise on:

        Data analysis through computational tools such as Excel, Google Sheets, R, or Python

        Apply their knowledge of visualization techniques (such as measures of center and spread, boxplots, bar plots , histograms, scatterplots, graphical summaries of multivariate data, side-by-side bar plots and association, scatterplots) to data

        Read plots (identify the name of the plot, interpret the axes, look for trends, identify confounding factors).

 

Sample question could be:

  1. Lab # 1:  Represent data with plots on the real number line (dotplots, histograms, bar plots, and boxplots).

  2. Lab # 2: Interpret differences in shape, center, and spread in the context of the data sets, accounting for possible effects of extreme data points (outliers).

  3. Lab # 3: and in class discussion: Represent data on two quantitative variables on a scatterplot and describe how the variables are related.

  4. Using a data set shared with the students:

    1. As a class, ask students to select 2 numerical variables and 1 categorical variable from the DataSet handout whose data they would like to see in a visualization, which is a picture of the data.

    2. Create a bar graph of the categorical variable chosen by the students. Begin by showing students how to clearly label the x-axis with the categories. For instance, if salty_sweet is the variable, ask students to identify the categories for that variable. Then mark the y-axis with the label frequency, which simply means the number of times an outcome occurs. Do not put tick-marks on the y-axis. The frequency will be measured by the number of labels plotted.

 

Summative Assessments

Exam questions / practicals on topics such as:

        Collect, clean and manipulate data using tools such as Excel, Google Sheets, R, or Python

        Analyze data using statistical techniques and create visualizations to communicate their findings

        Connections between databases and machine learning.

 

Sample question could be:

        Quiz # 1: Provide students with a visualization and a prompt. Ask them to create a narrative and  tell stories with data. (1) make assumptions about how the data was collected (2) identify any potential bias in the data (3) draw conclusions about the data

        Quiz # 2: Read and critique a  published story with visualization (taken from e.g., newspaper, economist, business insider)

        Lab Quiz: Provide students a data set. Have them build visualizations on 1 categorical and 2 numerical data. Then provide a narrative on what they learn from the visuals.

Learning Activities

  1. Provide a data file to students to work with e.g.

    Data & Statistics | Nutrition | CDC

  2. R-Studio or Python data exercise

    1.  Learn to download, load, upload, and work with data using RStudio syntax and structure.

    2. Create appropriate graphical displays of data.

    3. Differentiate between observations and variables.

    4.  Learn to use objects, functions, and assignments.

 

Domain E:  Applications of Computer Science

[SLO CS-11-E-01]

 

Standard:

Benchmark I: Students learn about different technologies that support the latest applications of CS and their relevance to Pakistan. 

Benchmark II: Students learn about data techniques in AI applications and the social implications of technology.

Student Learning Outcome(s):

[SLO CS-11-E-01] Students should be able to describe technologies and algorithms that are the foundations of IoT systems, Cloud Computing, and Blockchains

Knowledge:

Students will understand…

        Advancement in technologies like smaller size, higher processing power, longer battery power, AI techniques, cloud computing, and connectivity have enabled IoT applications

        Network connectivity, Processing power, and Cryptography are technologies that enable blockchains.

Skills:

Students will be able to…

        List and explain technologies that have enabled IoT and blockchain applications

 

Assessments

 

Formative Assessments

Quiz questions / research projects on topics:

        IoT applications

        Technologies that enable blockchains.

 

Summative Assessments

Exam questions or Research projects that contain elements of:

        IoT applications

        Technologies that enable blockchains.

Learning Activities

 

  1. Take an example of a IoT application and identify how each component of connectivity, processing, AI, cloud computing, and battery power enables that application.

 

  1. Have the students work through a blockchain application where the students act like blockchain users and maintain a ledger through their peer-to-peer network in class.

 

 

[SLO CS-11-E-02]

 

Standard:

Benchmark I: Students learn about different technologies that support the latest applications of CS and their relevance to Pakistan. 

Benchmark II: Students learn about data techniques in AI applications and the social implications of technology.

Student Learning Outcome(s):

[SLO CS-11-E-02] Students should be able to understand the need and techniques for data transformation, feature selection, and feature extraction

 

Knowledge:

Students will understand…

        Feature selection and extraction are the core components for AI techniques

        That the right set of features are extremely important for AI algorithms to be accurate

 

 

Students will know…

        What a feature means and how it is used in AI

Skills:

Students will be able to…

        Explain why feature selection is an important aspect of AI algorithms

 

Assessments

 

Formative Assessments

Quiz questions / research projects on topics:

        Feature selection and extraction are the core components for AI techniques

        What a feature means and how it is used in AI

 

Summative Assessments

Exam questions or Research projects that contain elements of feature selection in AI algorithms

Learning Activities

 

  1. Students will do an unplugged activity on AI, where they recognize whether a child is boy or girl by looking at their headshots – create a decision tree (without calling it that) for this classification. Identify features that can help them differentiate. These features may or may not be present in a picture. For example, if beard is a feature for boys, not all boys will have beards so a group of features become important. Show them the importance of feature set by selecting features that are not useful for this classification algorithm like shape of the nose, smiling or not, etc.

 

[SLO CS-11-E-03]

 

Standard:

Benchmark I: Students learn about different technologies that support the latest applications of CS and their relevance to Pakistan. 

Benchmark II: Students learn about data techniques in AI applications and the social implications of technology.

Student Learning Outcome(s):

[SLO CS-11-E-03] Students will be able to differentiate between classification and regression (at a higher level with examples)

Knowledge:

Students will understand…

        Regression is a technique that allows us to predict a discrete value

        Classification is a technique that allows us to put labels on data

        What are labels in AI

 

Students will know…

        Difference between regression and classification

Skills:

Students will be able to…

        Apply regression and classification techniques to a dataset to solve a specific problem

Assessments

 

Formative Assessments

Quiz questions / research projects on topics:

        Regression is a technique that allows us to predict a discrete value

        Classification is a technique that allows us to put labels on data

        What are labels in AI

 

Summative Assessments

Exam questions or Research projects to identify examples of regression used to solve problems

Learning Activities

 

        Show students representing some changing quantity like prices of houses, population of Pakistan, dollar rate or something similar and ask them to predict the same quantity in the future based on its current trend. This is regression

        Ask students to suggest features they evaluate to determine if they like some food or not. Some features can be:

        how sweet is the food

        what color is the food

        Is the food crispy or soft

        how spicy is the food

        Have a list of food and rate it on a scale of 0-5 for the above features. Also ask one volunteer if he/she likes that food or not. Then pick a new food item and predict if the volunteer will like the food or not.

 

[SLO CS-11-E-04]

 

Standard:

Benchmark I: Students learn about different technologies that support the latest applications of CS and their relevance to Pakistan. 

Benchmark II: Students learn about data techniques in AI applications and the social implications of technology.

Student Learning Outcome(s):

[SLO CS-11-E-04] Students will be able to differentiate between supervised, unsupervised, and reinforcement learning

Knowledge:

Students will understand…

        The difference between supervised learning, unsupervised learning, and reinforcement learning.

Skills:

Students will be able to…

        Decide if a problem and its solution is using supervised, unsupervised, or reinforcement learning.

Assessments

 

Formative Assessments

Quiz questions / research projects on topics:

        Differentiation between supervised, unsupervised, and reinforcement learning

 

Summative Assessments

Practical or case study analysis to decide if a problem and its solution is using supervised, unsupervised, or reinforcement learning.

Learning Activities

 

  1. Take the food activity in the SLO CS-11-E-03 and specify that this is supervised learning since the volunteer is telling us that either she likes the food or not.

 

  1. Take all the students in class and measure their heights (or weights since that will provide more variance but might be too personal). Now note all the heights and use a clustering algorithm to create 3 clusters (you can use k-means clustering for this). Now we can assign labels short, medium, and tall to the three clusters. Now take the height of the teacher and classify him as short, medium or tall.

 

[SLO CS-11-E-05]

 

Standard:

Benchmark I: Students learn about different technologies that support the latest applications of CS and their relevance to Pakistan. 

Benchmark II: Students learn about data techniques in AI applications and the social implications of technology.

Student Learning Outcome(s):

[SLO CS-11-E-05] Students should be able to evaluate how different stakeholder’s culture, values, and (sometimes conflicting) interests affect AI System designs. The students should be able to assess policies that can help protect different stakeholders' interests

Knowledge:

Students will understand…

        that there are different stakeholders that have vested interest in the outcomes of an AI algorithm

        these different stakeholders might have conflicting requirements for these algorithms

 

Skills:

Students will be able to…

        list some of the stakeholders and describe their interest in AI algorithms

        Assess policies that can help protect different stakeholders' interests

 

Assessments

 

Formative Assessments

Quiz questions / research projects on topics:

        Vested interest of different stakeholders in the outcomes of an AI algorithm

        Conflicting requirements for these algorithms

 

Summative Assessments

Essay questions / subjective analysis on:

        Evaluate how different stakeholder’s culture, values, and (sometimes conflicting) interests affect AI System designs.

        Assess policies that can help protect different stakeholders' interests

Learning Activities

 

  1. Have a discussion in class where you divide the class into groups. Each group is further divided into three roles where one role represents advertisers that are trying to sell their products on a social media platform, the second role is using social media to connect with friends, and the third role is the developer who is trying to sign up more users and trying to get the existing users to spend more time on their applications. Help the discussion on how each role has different expectations from the AI algorithms being used in the application.

 

Domain F:  Impacts of Computing

[SLO CS-11-F-01]

 

Standard Ethics and laws related to computing and the use of computing devices, media, data and the internet

Student Learning Outcomes

[SLO CS-11-F-01] Understand and apply safe & responsible use of information sources, identifying sources of reliable information compared to unreliable information and its sources

 

Knowledge:

Students will understand…

 

        Human bias is everywhere including data collection and information sharing

 

Students will know…

 

        The difference between tasks that should be completed by humans and those that are ideally completed by computing devices

Skills:

Students will be able to…

 

        Communicate and publish ideas using digital tools and media resources.

        Address issues of bias in the designs of their computing applications

        Conduct data searches to obtain reliable informationT

 

 

Assessments

 

Formative Assessments

Subjetive essay questions or student reflection on topics such as:

        What is an example of bias in computing?

        Reflect on the lives of the people around you. Can you identify a need for an assistive technology that would help a friend, family member or your community? Provide a design for this technology and how it can be of use.

 

Individual Project: Design a computational artifact for a problem where a computing application is needed to assist humans with a task

 

Summative Assessments

Group project: Collaborate on a project with others through the use of an online digital tool that shows how computing enables better communication and collaboration between people

Learning Activities

 

        Give examples and describe the importance of collaboration and communication in Computing.

        Identify problems that must be solved by humans and machines working together

        Illustrate how computing devices are meant to help people with tasks

        Create a digital artifact that is designed to be accessible and obtain feedback from others

        Brainstorm ways to improve accessibility and usability of technology for diverse users

        Discuss how the design and use of computing technologies effects inequitable access to information

        Students should explain how human bias comes into computing applications through the design of algorithms. Consider racial, gender and ethnic bias.

        What are disinformation campaigns? Differentiate between misinformation and disinformation.

 

[SLO CS-11-F-02]

 

Standard Application of personal privacy and network security to the use of computing

Student Learning Outcomes

[SLO CS-11-F-02] Determine the effects of threats to the privacy and security of data from spam, spyware, cookies, phishing, pharming, and unauthorized access

 

Knowledge:

Students will understand…

 

        The uses of assistive technologies for people with disabilities and the elderly

        The impact of the digital divide and how accessibility to information affects the lives of different people

        Your legal rights include the rights to your personal data and your intellectual property rights.

 

Students will know…

         Software "Terms of Use" and privacy policies

Skills:

Students will be able to…

 

        Communicate and publish ideas using digital tools and media resources.

        Discuss the impact of computing technology on business and commerce

        Collaborate on strategies to provide equity and equal access to information

        Distinguish between tasks that are ideally completed by humans and those that are ideally completed by computing devices 

 

Assessments

 

Formative Assessments

Student reflection: Reflect on the lives of the people around you. Can you identify a need for an assistive technology that would help a friend, family member or your community? Provide a design for this technology and how it can be of use.

 

Individual Project: Design a computational artifact for a problem where a computing application is needed to assist humans with a task

 

Summative Assessments

        Assessment questions on

        Demonstrate how computing has afforded increased connectivity by enabling communication between people. Discuss how this increased connectivity has impacted modern society

        Describe assistive technologies and their role in society. Identify common assistive technologies in use around you.

        Analyze the impacts of the digital divide on access to critical information and how that can impact the lives of people.

 

Learning Activities

 

        Give examples and describe the importance of collaboration and communication in Computing.

        Identify problems that must be solved by humans and machines working together

        Illustrate how computing devices are meant to help people with tasks

        Create a digital artifact that is designed to be accessible and obtain feedback from others

        Brainstorm ways to improve accessibility and u.sability of technology for diverse users

        Discuss how the design and use of computing technologies effects inequitable access to information

        There are multiple types of licenses that can be applied to information and processes.Explain what a Creative Commons license is and how it is used.

        Automated collection of data can have legal implications depending on how it is done. Select a website where you provide personal information and analyze how data collection is done.

 

[SLO CS-11-F-03]

 

Standard The environmental, cultural, and human impact of computing and assistive technologies for the modern world

Student Learning Outcomes  

[SLO CS-11-F-03] Define and discuss how computing has increased connectivity by enabling communication between people and the environmental, cultural, and human impact of increased connectivity

Knowledge:

Students will understand…

 

        The uses of assistive technologies for people with disabilities and the elderly

        The impact of the digital divide and how accessibility to information affects the lives of different people

 

Students will know…

 

        The different technological innovations we have no to improve communication between people such as wifi networks, bluetooth etc,

Skills:

Students will be able to…

 

        Communicate and publish ideas using digital tools and media resources.

        Discuss the impact of computing technology on business and commerce

        Collaborate on strategies to provide equity and equal access to information

        Distinguish between tasks that are ideally completed by humans and those that are ideally completed by computing devices 

 

Assessments

Formative Assessments

Assessment questions on

-          What are some technological tools that can be used to collaborate on a project? If you did not have this technology, what would the experience of collaborating be with people?

-          Demonstrate how computing has afforded increased connectivity by enabling communication between people. Discuss how this increased connectivity has impacted modern society

 

Summative Assessments

 

        Collaborate on a project with others through the use of an online digital tool that shows how computing enables better communication and collaboration between people

Learning Activities

        Technology has made communication much cheaper and easier. Provide examples from your everyday life to exemplify the use of technology for increasing connectivity between people.

        List the benefits of collaborations between people for the future. Why is it important for us to design technologies to improve collaborations and communications?

        Give students the following prompt and lead a class discussion: Rapid innovations in technology have supported greater connectivity between people. Once people had to use the landline phone to call another person but now we have availability of free calls over Wifi networks. How has this change impacted the relationships between people, our cultural practices and the way we live?

 

Domain G: Digital Literacy

[SLO CS-11-G-01]

 

Benchmark I: Use digital tools to design and develop a significant digital artifact through research design, data collection, and communication.

Student Learning Outcomes: [SLO CS-11-G-01] Perform advanced searches to locate information and/or design a data-collection approach to gather original data (e.g., qualitative interviews, surveys, prototypes, simulations)

Knowledge:

Students will understand…

        Definitions of data collection strategies (e.g., qualitative interviews, surveys, prototypes, simulations)

        Best practices on how to present primary & secondary data for a research question

        How to designing data-collection approach to gather original data

 

Students will know…

        How to use appropriate data collection strategies for various types of research questions

Skills:

Students will be able to…

        Design a data-collection approach to gather original data (e.g., qualitative interviews, surveys, prototypes, simulations)

        Present data using appropriate digital tools (such as graphs or infographics in worksheets, presentations, reports etc)

Assessments

Formative Assessments

        In class assignments / projects on topics such as:

        Design & implementation of data collection to answer a research question

        Present data collected using appropriate digital tools

        Quiz on topics such as:

        Case studies of successful representations of data

        Use of data collection approaches for various cases

 

Summative Assessments

        Case studies of digital artefacts testing student knowledge for (1) best tools to communicate various types of information (2) Appropriate use of tools (i.e. layouts, formatting, editing, graphics, appearance & alignment etc.)

        Practical: summative project submission of a key idea using an appropriate digital tool

 

Learning Activities

  1. Students work collaboratively to design and generate a solution to a task/problem statement.

  2. Students can present primary data using graphs or infographics

 

Grade 12

Domain A: Computing Systems

[SLO CS-12-A-01]

Standard 1: Students will understand and explain the various components of a computer system and the different levels of interactions between these. They will have a basic understanding of digital logic, the different stages of the software life cycle and the concepts of scalability, reliability and security for computer systems.

Student Learning Outcome(s):

[SLO CS-12-A-01] Students will understand and explain the usability, security and accessibility of devices, the systems they are integrated with. Understand and explain human interaction with computer systems in terms of usability, common problems, methods for improvements, and, ethical, social, economic and environmental implications

Knowledge:

Students will understand that

        What is usability and accessibility of software applications

        Human-computer interaction is a field of study to promote efficient, effective and satisfying user interactions

        The effects of not building accessible applications can be far reaching

 

Students will know

        What usability testing is and how to design accessible user interfaces

Skills:

Students will be able to

        Design effective and user friendly interfaces

        Design for a wide range of accessibility issues

        Understand the social, ethical, economic and environmental implications of bad software and system design

Assessments

 

Formative Assessments

Quiz questions on the following topics:

        What are the basic principles of usability testing?

        When should you conduct usability tests?

        Given this user persona (provide persona details e.g a blind woman in her 60s needing to use an app for banking) gave a detailed analysis of how to design for them so that the application is both usable and accessible

        What are some impacts of badly designed software in terms of compromising safety and security

Practical / projects on:

        Designing effective and user friendly interfaces

        Designing for accessibility

        Designing so that social, ethical, economic and environmental concerns are considered

 

Summative Assessments

Exam questions or end of modul eprojects that include the following topics:

        Designing effective and user friendly interfaces

        Designing for accessibility

        Designing so that social, ethical, economic and environmental concerns are considered

Learning Activities

  1. In-class activity

    : Read and discuss the differences between accessible, usable and universal design:

    https://www.washington.edu/accesscomputing/what-difference-between-accessible-usable-and-universal-design

  2. In-class activity

    : Review the latest web content accessibility guidelines to see how information and user interface components can be made usable. Discuss in class:

    https://www.w3.org/WAI/WCAG21/quickref/

  3. In-class activity

    : Discuss the difference between user testing and usability testing.

  4. In-class activity

    :View this video and discuss how students can do usability testing for their projects:

    https://www.youtube.com/watch?v=r3j_dwMbLo0

  5. In-class activity

    :Discuss ways in which students can design more accessible software and hardware taking into account various accessibility issues.

 

 

[SLO CS-12-A-02]

Standard 1: Students will understand and explain the various components of a computer system and the different levels of interactions between these. They will have a basic understanding of digital logic, the different stages of the software life cycle and the concepts of scalability, reliability and security for computer systems.

Student Learning Outcome(s): [SLO CS-12-A-02] Identify and explain tradeoffs between the usability and security of computing systems. Recommend cybersecurity measures by considering different factors such as efficiency, cost, privacy, and ethics.

Knowledge:

Students will understand that

        There are tradeoffs between making a system more secure vs. making it more usable.

        What the factors are around efficiency, cost, privacy and ethics when it comes to cybersecurity

        Both security and user experience are essential features for any software system

 

Students will know

        How to implement basic cybersecurity measures that take usability into account

        What is a zero trust approach and how to design for it

Skills:

Students will be able to

        Explain the tradeoffs between security and usability

        Understand how to consider data privacy and security when designing an application

        Design ways to simplify app security (e.g. simplified 1-click authentication, design for transparency etc) so the experience is more seamless

        Balance security design of application such that efficiency, cost, privacy and ethics are not compromised

Assessments

 

Formative Assessments

Quiz questions on the following topics:

       

Explain how you would design a usability study for a software application you are working on to also take into account the security requirements? What are some of the key metrics you will use to decide if the study was useful in building a better user interface while still being appropriately secure?.

How can you minimize the amount of personal data you collect for your app?

       

How can you be transparent in how users data is being used in your app?

Summative Assessments

Exam / end of module quiz / research or presentation projects questions on:

        Tradeoffs between security and usability

        Data privacy and security considerations in application design

        Types of app security (e.g. simplified 1-click authentication, design for transparency etc)

        Balance security design of application such that efficiency, cost, privacy and ethics are not compromised

Learning Activities

  1. In-class activity

    : Discuss common examples around you of systems that are not as usable due to higher security requirements. Suggest changes that would balance the two.

  2. In-class activity

    : View this talk on the Security vs. Usability tradeoff and discuss in the context of social media applications security vs. banking application security:

    https://www.youtube.com/watch?v=0Qq41IR3Igc

 

Domain B: Computational Thinking & Algorithms

[SLO CS-12-B-01]

 

Standard 2:Students will understand and apply common artifacts and algorithms used in solving computational problems

Student Learning Outcomes [SLO CS-12-B-01]  Understand and evaluate the feasibility of computational solutions such as flowcharts and pseudocode

Knowledge:

Students will understand

1)      Use flowcharts and/or pseudocode to address complex problems as algorithms.

2)      Write and amend algorithms for given problems or scenarios, using: pseudocode and flowcharts

3)      How to evaluate flowcharts for efficiency & correctness

Skills:

Students will be able to

1)       Use pseudocode and/or flowcharts to organize and sequence an algorithm that addresses a complex problem

2)      Analyse an algorithm presented as a flow chart in terms of include tracing an algorithm as well as assessing its correctness.

3)      Evaluate algorithms in terms of their efficiency, correctness, and clarity

Assessments

 

Formative Assessments

In-class / quiz questions on the following topics:

-          Constructing solutions in pseudocode

-          Writing & amending algorithms using pseudocode and/or flow charts

 

Summative Assessments

Examination questions on topics such as:

        Construct solutions in pseudocode

        Trace an algorithm to assess correctness (in pseudocode and/or flow charts)

        Students should understand and explain the difference in efficiency between various solutions

Learning Activities

  1. Create psuedocode:

    https://eng.libretexts.org/Bookshelves/Computer_Science/Databases_and_Data_Structures/Book%3A_Data_Structure_and_Algorithms_(Njoroge)/01%3A_Algorithmic_Problem_Solving/1.03%3A_Activity_3_-_Using_pseudo-codes_and_flowcharts_to_represent_algorithms

  2. Create flowcharts for common every day processes:

https://www.technokids.com/blog/programming/how-to-make-a-flowchart-for-programming-easy-to-understand/

  1. Sample lesson plan for Algorithms in pseudocode and flow diagrams

    https://cambridgegcsecomputing.org/sites/94/upload/userfiles/217ab-teachers-notes_editedct_150dpi.pdf

 

[SLO CS-12-B-02]

 

Standard 2:Students will understand and apply common artifacts and algorithms used in solving computational problems

Student Learning Outcomes [SLO CS-12-B-02] Identify and apply complex algorithms on data structures such as trees and binary search

Knowledge:

Students will know that

1)      Define data structures such as trees and binary search

2)      How to traverse a tree

a)       In-order Traversal

b)      Pre-order Traversal

c)       Post-order Traversal

3)      How to conduct a binary search

4)      Application of tree data structure

5)      Application of binary search algorithm

Skills:

Students will be able to

1)      Identify and apply tree algorithm

2)      Traverse trees

3)      Explain binary search method and predict results of a binary search algorithm

 

 

Assessments

 

Formative Assessments

        Quiz questions on topics related to case studies of trees and students to solve/traverse them

 

Summative Assessments

        Examination questions on identifying and applying tree algorithm

Learning Activities

        Tree traversal: https://www.tutorialspoint.com/data_structures_algorithms/tree_traversal.htm

        Binary search videos & online exercises: https://www.khanacademy.org/computing/computer-science/algorithms/binary-search/a/binary-search

        Inclass activity / practical on binary search: https://classroom.thenational.academy/lessons/binary-search-chjked

        Sample lesson plan on binary search including activities like Raffle Tickets, Ping Pong Ball and Guess My Number to learn about binary trees: http://csunplugged.mines.edu/Activities/BinarySearch/BinarySearch.pdf

 

Domain C: Programming Fundamentals

[SLO CS-12-C-01]

 

Standard: Students will develop, test, debug, and document command-line interface (CLI) applications in Python

Student Learning Outcome(s):

[SLO CS-12-C-01] Students should be able to understand how to solve various types of computing problems using appropriate programming paradigms.

 

Knowledge:

Students will understand…

        The purpose of programming language paradigms is to reduce complexity and make code easy to understand for programmers

        A high level view and pros/cons of Object Oriented Programming

        A high level view and pros/cons of functional programming

Skills:

Students will be able to…

        Write a Python program using Object Oriented Programming to define a class with instance attributes to manage states

 

 

Assessments

 

Formative Assessments

Projects / practicals / in-class activities on developing an artefact in the Python programming language that will use object oriented programming to manage states

 

Summative Assessments

Exam questions should include explanations of purpose of programming, function programming, object oriented programming and it’s advantages

Learning Activities

  1. In-class activity: Watch a video on OOP & Python and discuss key points, e.g.

    https://youtu.be/E40NqsDgYa4

  2. Python OOP exercises:

    https://pynative.com/python-object-oriented-programming-oop-exercise/

 

[SLO CS-12-C-02]

 

Standard: Students will develop, test, debug, and document command-line interface (CLI) applications in Python

Student Learning Outcome(s):

[SLO CS-12-C-02] Students should be able to use data structures in Python like lists and dictionaries.

 

Knowledge:

Students will understand…

        The purpose of a list is to store an ordered list of elements

        The purpose of a dictionary is to store key-value pairs

        Given a key, finding a value in a dictionary is faster than in a list

 

Skills:

Students will be able to…

        Construct a dictionary in Python

        Retrieve values from a dictionary in Python

        Write and execute a Python program that can construct a dictionary based on user input, and can print a value whose key is input from the user.

Assessments

 

Formative Assessments

Quiz questions on topics such as:

        The purpose of a list

        The purpose of a dictionary

        Finding values in a dictionary vs. list

 

Summative Assessments

Exam questions on following topics:

        Constructing dictionaries in Python

        Retrieving values from a dictionary in Python

        Writing and executing a Python program that can construct a dictionary based on user input, and can print a value whose key is input from the user.

Learning Activities

  1. Mini-drills to learn about dictionaries in Python:

    https://towardsdatascience.com/12-examples-to-master-python-dictionaries-5a8bcd688c6d

  2. In-class activity / practicals: Python projects that use dictionaries, e.g.

    https://favtutor.com/blog-details/7-Python-Projects-For-Beginners

  3. Create a mini-game using dictionaries, e.g. Hangman:

    https://favtutor.com/blog-details/7-Python-Projects-For-Beginners

 

 

[SLO CS-12-C-03]

 

Standard: Students will develop, test, debug, and document command-line interface (CLI) applications in Python

Student Learning Outcome(s):

[SLO CS-12-C-03] Students should be able to use disk IO in Python to write to persistent storage.

Knowledge:

Students will understand…

        Primary Storage hard-disks are persistent

        Data can be read from and written to disk

        Errors can occur when attempting to write to disk

 

Skills:

Students will be able to…

        Write text to a file in Python

        Read text from a file in Python

        Handle exceptions when reading/writing to a file in Python by displaying a customized error message

Assessments

 

Formative Assessments

Quiz assessments on topics:

        Persistent primary storage hard-disks

        Reading and writing data to disks

        Disk writing errors

 

Summative Assessments

Exam questions / practicals on topics such as:

        Writing text to a file in Python

        Reading text from a file in Python

        Handling exceptions when reading/writing to a file in Python by displaying a customized error messages

Learning Activities

  1. Python projects using disk I/O. e.g. AI Chatbot

    https://realpython.com/build-a-chatbot-python-chatterbot/

  2. Examples of disk I/O in Python

    https://www3.ntu.edu.sg/home/ehchua/programming/webprogramming/Python_FileText.html

  3. Class discussion on video on nested lists, e.g.

    https://www.youtube.com/watch?v=rO5TMSMTs3o

 

 

[SLO CS-12-C-04]

 

Standard: Students will develop, test, debug, and document command-line interface (CLI) applications in Python

Student Learning Outcome(s):

[SLO CS-12-C-04] Students should be able to implement complex algorithms that use lists etc. in Python

Knowledge:

Students will understand…

        The concept of a nested list (list within a list)

        A list as a value within a dictionary

Skills:

Students will be able to…

        Write, execute and debug a Python program that reads a text file from disk and prints the number of occurrences of each letter of the alphabet

Assessments

 

Formative Assessments

Quiz questions on topics such as:

        Nested lists (list within a list)

        A list as a value within a dictionary

 

Summative Assessments

Examination questions / practicals on writing, executing and debugging Python programs that read a text file from disk and prints the number of occurrences of each letter of the alphabet

Learning Activities

  1. Count the number of times a letter appears in a text file in Python

https://www.geeksforgeeks.org/count-the-number-of-times-a-letter-appears-in-a-text-file-in-python/

  1. https://www3.ntu.edu.sg/home/ehchua/programming/webprogramming/Python_FileText.html

 

[SLO CS-12-C-05]

 

 

Standard: Students will develop, test, and debug Python code

Student Learning Outcome(s):

[SLO CS-12-C-05] Students will determine more advanced techniques (unit tests, print statements) for testing and debugging their code in Python

Knowledge:

Students will understand…

        The purpose of a unit test

        Debugging allows programmers to analyze code as it runs

 

Skills:

Students will be able to…

        Write a unit tests for the functions in their code

        Use a print statement to help debug bugs in their code

Assessments

 

Formative Assessments

Practical / lab exercises on identifying & resolving errors in computing problems using test functions and breakpoints.

 

Summative Assessments

Quiz / exam / practical on computing problems with errors and students to identify errors using test functions and breakpoints.

 

Learning Activities

        Basic workflow debugging for Python programming using print statements (example step by step guide here: https://www.codementor.io/@allisonf/how-to-debug-python-code-beginners-print-line-du107ltvx )

        Instructors can use this YouTube video as a reference: https://www.youtube.com/watch?v=r0JvqH6OWKQ

 

 

 

Domain D: Data and Analysis

[SLO CS-12-D-01]

 

Standard: Students will be able to understand how computer systems collect, store, process, visualize, and interpret data

Student Learning Outcomes: [SLO CS-12-D-01] Students will be able to define, build and explain a real-world machine learning model. Analyze data and identify key model performance metrics.

Knowledge:

        Students will understand the difference between machine learning and rule based algorithms.

        They will learn how “learning from the data”works and which algorithms fit which data structures best.

        They will build a simple machine learning model with features as inputs and predictive values as the outcome and they will be able to explain the meaning of these results in a real world scenario. They will also be able to evaluate the model using various metrics and assess the model with a validation dataset.

 

Students will know…

 

  1. The distinct meaning of machine learning and how it works

  2. The basics of machine learning model building, i.e., feature engineering, train-test split and model assessment

  3. The difference between predictive outcomes vs. causality

  4. Model interpretation and use cases

  5. Real world applications of their models

Skills:

Students will be able to…

 

 

 

        Apply machine learning to a real world problem (using Excel, R, Python Jupypter notebooks)

        Build their first machine learning pipeline from data collection and cleaning to model assessment

        Interpret the results of the model output including features with most impact

        Assess model with metrics appropriate for the algorithm type and improve on the model using hyperparameter tuning

Formative Assessments

In class (group exercise)- Discuss differences between predicting continuous vs categorical variables.

In class (group exercise)- Which metric will be useful in performance measurement for continuous vs categorical variables.

Lab 1 Exercise: LAB 4C: Cross-Validation - Introduction to Data Science Curriculum (idsucla.org)

Lab 2 Exercise: LAB 4D: Interpreting Correlations - Introduction to Data Science Curriculum (idsucla.org)

Lab 3 Exercise: LAB 4H: Finding Clusters - Introduction to Data Science Curriculum (idsucla.org)

Summative Assessments

Quiz 1 - Write and explain the different steps in building a predictive model.

Quiz 2 - Give 10 types of different predictive models and ask students to place them as continuous or categorical.

Learning Activities

  1. Similar Lab Activities :

    See the Labs 4.6.1& 4.6.2 in Book:

    An Introduction to Statistical Learning: with Applications in R | SpringerLink

    . This book can be downloaded online via this link.

  2. Students can do further Lab work with online courses such as “Data Science Foundations” from

    www.coursya.com

    Teachers can identify activities based on student skill level.

 

[SLO CS-12-D-02]

 

Standard: Students will be able to understand how computer systems collect, store, process, visualize, and interpret data

Student Learning Outcomes [SLO CS-12-D-02]Students will explain and create a data visualization using data visualization software (for example MS Excel, Google Sheets, Structured Query Language (SQL), Python, Tableau, or Matplotlib)

 

Knowledge:

        Students will use the tools and techniques already taught in CS-09-D-02 & CS-10-D-02 & CS-11-D-02. The ability to read and critique published stories and visualizations are additions to these tools and techniques.

        Students should also be able to formulate questions, identify existing data sets, and evaluate how the new stories stack up against the old.

 

 

Students will know

        how to use the techniques of descriptive statistics, to construct multiple views of data in an attempt to uncover new insights

        To support this cycle of inquiry, students will examine the basic publication mechanisms for data and develop a set of questions to ask of any data source - computation meets critical thinking.

Skills:

Students will be able to

        Identify their own data set from the internet or known surveys

        Use R and Python or Tableau to create visualization

        (Advanced) Do data scraping.  Use HTML and XML formats.

        (Advanced) Download open source data from Kaggle, NASA, government websites, ( IRIS or TITANIC from sites such as https://www.kaggle.com/).

        (Advanced)  Set up python environment and apply Python functions

 

 

Assessments

In class presentation of the project..

Formative Assessments

Weekly check in with teacher to monitor progress of project

Summative Assessments

Group Project or Individual Project: Students identify a data set of their choice.

  1. Pick a topic and build a story using the data and create data visualizations.

  2. Identify bias in data, data collection methodology and other use cases of the data.

Learning Activities

  1. Identify a dataset:  

    See the Labs and Data set  in Book:

    An Introduction to Statistical Learning: with Applications in R | SpringerLink

    . This book can be downloaded online via this link.

  2. If there is no access to the internet the students can access datasets within the R and Python data libraries.

  3. If there is access to internet students should sign up for courses such as “Learn Python Basics for Data Analysis” on openclassrooms.com as part of Lab exercises

    1. Set up python environment

    2. Use fundamental functions and objects in Python

 

[SLO CS-12-D-03]

 

Standard: Students will be able to understand how computer systems collect, store, process, visualize, and interpret data

Student Learning Outcomes: [SLO CS-12-D-03]  Students will learn how to form hypotheses and perform hypothesis testing. Students will learn how to communicate findings using advanced data visuals and tie them back to back to hypotheses

Knowledge:

Students should be able to understand

        P-values and significance testing

        Null and Alternative Hypothesis

        Concepts and definitions of hypothesis testing

 

Students will know about

        simple hypothesis testing

        P-values and significance tests and making conclusions using statistics

        Using visuals to support hypothesis

 

 

 

Skills:

Students will be able to…

 

        Compare a P-value to a significance level to make a conclusion in a significance test

        Write null and alternative hypothesis

        Estimate a P-value from a simulation

        Use P-value to make a conclusion

        Draw a visual graph/bar chart or histogram to tie it back to the conclusion

        (Advanced) Perform F-tests, Chi-Square Tests and complete the remaining modules on Hypothesis Testing & Statistics - Videos & Lessons | Study.com

 

Formative Assessments

In class (group exercise)- Identify a Null and Alternative Hypothesis from data provided in class (use Khan Academy samples)

 

In class exercise: Take an example data set/ exercise used in [SLO CS-11-D-02]  and tie it back to hypothesis tests/p values and significance testing.

 

In class discussion and exercise: Visual exploration of statistical testing: See Developing the Theory of Hypothesis Testing: An Exploration | Statistics Teacher

 

Lab Exercise: Visualizing Hypothesis Testing A Guide on How to Simulate and Visualize Hypothesis Tests Using Python Code | by Hamid Omar | Analytics Vidhya | Medium

 

Summative Assessments

Quiz or take a home exam. Can be broken down into multiple Quizs: Hypothesis Testing & Statistics - Practice Test Questions & Chapter Exam | Study.com

Step-by-Step Lab exercise in R or Python based on learnings from Developing the Theory of Hypothesis Testing: An Exploration | Statistics Teacher

Learning Activities

Teaching guide for Hypothesis Testing see link: Hypothesis Testing & Statistics - Videos & Lessons | Study.com Follow the lesson and corresponding Quizzes. You will have to create and account to access worksheets and detailed quizzes.

1.       What is Hypothesis Testing? - Definition, Steps & Examples - Video & Lesson Transcript | Study.com

2.       Hypothesis Testing for Single Samples: Definition & Examples | Study.com

3.       Hypothesis Testing for Multiple Samples: Definition & Examples | Study.com

In class or Homework assigned: Watch Hypothesis Testing Videos and links to Google Classroom: Unit 12 Lesson 1 Khan Academy: Simple hypothesis testing (video) | Khan Academy

Visualization of data and linking to statistical tests: Developing the Theory of Hypothesis Testing: An Exploration | Statistics Teacher

 

See Page 67-68 examples of Hypothesis Testing using the Advertising Dataset in  An Introduction to Statistical Learning: with Applications in R | SpringerLink . This book can be downloaded online via this link.

  1. Exercise 3.7 Question 1 - Hypothesis Testing, Question 8 - Data Visualization Question 11 - Hypothesis testing (Advanced)

 

 

Domain E:  Applications of Computer Science

[SLO CS-12-E-01]

 

Standard:

Benchmark I: Students learn about different technologies that support the latest applications of CS and their relevance to Pakistan. 

Benchmark II: Students learn about data techniques in AI applications and the social implications of technology.

Student Learning Outcome(s):

[SLO CS-12-E-01] Students should be able to design ideas of applications relevant to Pakistan using IoTs, Cloud computing, and Blockchain

Knowledge:

Students will understand…

        That IoT applications are applicable to Pakistan be able to come up with ideas on what applications are needed in the community

Skills:

Students will be able to…

        Determine if a particular idea of an application is useful in the Pakistani context

 

Assessments

 

Formative & Summative Assessments

Exam or quiz assessment questions / inclass discussions / research projects on:

        Local applications of IoT

        Pros and cons of using IoT in Pakistan

 

Sample question could be:

        How could IoT (robots, drones, remote sensors, and computer imaging) help rural smallholder farmers in Pakistan?

Learning Activities

Recall the applications we have studied and start a discussion of how IoTs, Blockchains, and Cloud computing can be used to solve problems in Pakistan in different domains.

 

 

[SLO CS-12-E-02]

 

Standard:

Benchmark I: Students learn about different technologies that support the latest applications of CS and their relevance to Pakistan. 

Benchmark II: Students learn about data techniques in AI applications and the social implications of technology.

Student Learning Outcome(s):

[SLO CS-12-E-02] Students should be able to describe neural networks and deep learning

Knowledge:

Students will understand…

        The relationship between neural networks and deep learning networks

        Understand the deep learning networks help us extract features from a given dataset

 

Students will know…

        The definition of neural network and deep learning network

Skills:

Students will be able to…

        Describe the relationship between neural network and deep neural network.

 

Assessments

 

Formative & Summative Assessments

Exam & quiz assessment questions on:

        Definitions, description, and relationship between neural networks and deep learning networks

        Extracting features from a given dataset using deep learning networks

 

Learning Activities

        Activity: Research and discuss applications of neural networks

https://www.projectpro.io/article/neural-network-projects/440

        Neural network project ideas: https://www.upgrad.com/blog/neural-network-project-ideas-topics-beginners/

        Understanding Neural Networks with High School Math: https://ai.plainenglish.io/understanding-neural-networks-with-high-school-math-8a54efe7b8fd

        Inclass discussion on article: A Hands On Introduction to Deep Learning from a High School Perspective https://towardsdatascience.com/a-hands-on-introduction-to-deep-learning-from-a-high-school-perspective-41be62ef00a7

 

Domain F:  Impacts of Computing

[SLO CS-12-F-01]

 

Standard Application of personal privacy and network security to the use of computing

 

Student Learning Outcomes [SLO CS-12-F-02] Deep knowledge of common types of cyber security problems and topics such as 2FA, biometric verification, and secure techniques for transmitting data.

 

Knowledge:

Students will understand…

        The necessity of security protocols for the secure storage and transmission of data

        When and how their information is collected and used

 

        Giving away private information can make it easier for your identity to be stolen

 

Students will know…

        Different types of cyber attacks:DDoS attack, ransomware, spyware, viruses, phishing, 

        Different security methods used: 2FA, biometric verification

        Basics of cryptography and the common ciphers used for safe transmission of data

 

 

 

Skills:

Students will be able to…

 

        Apply basic security methods to computing applications they create

        Evaluate the kinds of security protocols being used by different computing systems and devices

        Identify security threats in the use of different computing applications and devices

        Troubleshooting issues to support security of systems and applications

        Find a cybersecurity threat and be able to apply strategies to correct it

Assessments

 

Formative Assessments

Quiz questions on topics such as:

        Explain common network attacks and how they happen.

        How can we detect intrusions? (checking logs, firewall rules, intrusion detection systems - IDS)

        What are some recommended approaches for mitigating or preventing network attacks?

 

Summative Assessments

Examination questions on common ciphers used for encryption and decryption of data

Learning Activities

        Divide the class into groups. Ask the groups to create a protocol that will allow one classmate to send another classmate a note, without the need for talking to each other.

        Trace a website request from the server, through the network, and to your computer.

        There are many kinds of network attacks including DNS spoofing, DoS/DDoS, Waterhole attacks, fake WAP, eavesdropping. Describe each of these and give strategies to mitigate these attacks.

        Students will differentiate between cybersecurity and cryptography.

         Cryptography is the science of concealing messages with a secret code.Students should see examples of common ciphers used for encryption and decryption of information such as the ceaser cipher, shift cipher, substitution cipher.

 

[SLO CS-12-F-02]

 

Standard Application of personal privacy and network security to the use of computing

 

Student Learning Outcomes [SLO CS-12-F-02] Deep knowledge of common types of cyber security problems and topics such as 2FA, biometric verification, and secure techniques for transmitting data.

 

Knowledge:

Students will understand…

        The necessity of security protocols for the secure storage and transmission of data

        When and how their information is collected and used

 

        Giving away private information can make it easier for your identity to be stolen

 

Students will know…

        Different types of cyber attacks:DDoS attack, ransomware, spyware, viruses, phishing, 

        Different security methods used: 2FA, biometric verification

        Basics of cryptography and the common ciphers used for safe transmission of data

Skills:

Students will be able to…

 

        Apply basic security methods to computing applications they create

        Evaluate the kinds of security protocols being used by different computing systems and devices

        Identify security threats in the use of different computing applications and devices

        Troubleshooting issues to support security of systems and applications

        Find a cybersecurity threat and be able to apply strategies to correct it

Assessments

 

Formative Assessments

Quiz assessment questions on topics such as:

        Explain common network attacks and how they happen.

        How can we detect intrusions? (checking logs, firewall rules, intrusion detection systems - IDS)

        What are some recommended approaches for mitigating or preventing network attacks?

 

Summative Assessments

Examination questions on topics such as:

        Common ciphers used for encryption and decryption of data?

Learning Activities

        Divide the class into groups. Ask the groups to create a protocol that will allow one classmate to send another classmate a note, without the need for talking to each other.

        Trace a website request from the server, through the network, and to your computer.

        There are many kinds of network attacks including DNS spoofing, DoS/DDoS, Waterhole attacks, fake WAP, eavesdropping. Describe each of these and give strategies to mitigate these attacks.

        Students will differentiate between cybersecurity and cryptography.

         Cryptography is the science of concealing messages with a secret code.Students should see examples of common ciphers used for encryption and decryption of information such as the ceaser cipher, shift cipher, substitution cipher.

 

[SLO CS-12-F-03]

 

Standard The environmental, cultural and human impact of computing and assistive technologies for the modern world

Student Learning Outcomes

[SLO CS-12-F-03] Collaborate on creation of digital applications and understand strategies to design for equity and equal access to information

 

Knowledge:

Students will understand…

 

        The need to develop computational perspectives that are valuable for their future career

        The need for collaborations to improve designs of computing applications

 

Students will know…

        Different Collaborative tools for use online

Skills:

Students will be able to…

 

        Communicate with others on the design of computing technologies

        Strategize to improve collaborations between different teammates using technology resources

        Create artifacts that address issues of equity in terms of access to information

 

Assessments

 

Formative Assessments

Group project:

Collaborate with people who are not located in the same city as you on the creation of a digital artifact. Take memos during this process of any difficulties you encounter such as access to computers or online resources. How did you tackle these challenges during your collaboration? At the end of the unit, provide recommendations for collaborative tools that can address some of the issues you identified during the creation of your digital artifact.

 

Summative Assessments

Examination questions on collaborative tools used online and recommendations on how they can be improved.

Learning Activities

        Group discussions in class: How are digital applications supporting collaborations and what are some safety concerns for users?

        Test out different collaborative tools online such as google docs, GitHub.

        Brainstorm on the design of a collaborative tool that will facilitate your work while studying  this unit. Come up with a list of user requirements and share with your class to get feedback from others.

        Students should be asked to reflect on why feedback from others is important during collaborations on computing applications?

 

 

Domain G: Digital Literacy

[SLO CS-12-G-01]

 

Benchmark I: Use digital tools to design and develop a significant digital artifact through research design, data collection, and communication.

Student Learning Outcomes: [SLO CS-12-G-01] Students will create an artifact that answers a research question, communicates results and conclusions through digital resources or tools

Knowledge:

Students will understand…

        How to perform advanced searches  to location information a research topic    

Students will know…

        How to use digital tools to communicate results and conclusions

 

Skills:

Students will be able to…

        Perform advanced searches to locate information

        Create an artifact that answers a research question, communicates results and conclusions through digital resources or tools

Assessments

Formative Assessments

        In class assignments / projects on topics such as:

        Design & implementation of data collection to answer a research question

        Present data collected using appropriate digital tools

        Quiz on topics such as:

        Case studies of successful representations of data

        Use of data collection approaches for various cases

 

Summative Assessments

        Case studies of digital artefacts testing student knowledge for (1) best tools to communicate various types of information (2) Appropriate use of tools (i.e. layouts, formatting, editing, graphics, appearance & alignment etc.)

        Practical: summative project submission of a key idea using an appropriate digital tool

 

Learning Activities

  1. Research Project Guide - A Handbook for Teachers and Students to using data

    https://www.humbleisd.net/cms/lib/TX01001414/Centricity/Domain/29/researchguideHS.pdf

  2. Collecting Data in Your Classroom

    https://kstatelibraries.pressbooks.pub/gradactionresearch/chapter/chapt5/

  3. How-To Guide for Research Projects for High School Students

    https://pioneeracademics.com/2022/11/20/how-to-guide-for-research-projects-for-high-school-students/

  4. Teacher's Guides and Analysis Tool - Primary Source Analysis Tool for Students

Students can use this simple tool to examine and analyze any kind of primary source and record their responses

https://www.loc.gov/programs/teachers/getting-started-with-primary-sources/guides/