Computer Science (CS) 9- 12
Curriculum Guidelines
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
|
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
|
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
|
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) 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)
|
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
https://medium.com/@rachelheo/p4-case-study-9bc802f51a98
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.
https://www.w3.org/TR/html401/struct/links.html
https://www.w3.org/TR/WD-DOM/introduction.html
https://www.w3schools.com/html/html_images.asp
https://www.w3schools.com/css/
|
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
|
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
● https://hackr.io/blog/javascript-projects ● https://skillcrush.com/blog/projects-you-can-do-with-javascript/
|
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 |
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:
|
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
|
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:
Students will be able to:
|
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
|
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
Students will know…
|
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
|
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
|
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/ |
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 |
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
|
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
|
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? |
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. |
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
|
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
|
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 |
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
|
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
|
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
|
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 |
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 |
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
|
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
https://www.freecodecamp.org/news/4-methods-to-search-an-array/
|
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. |
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
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
|
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 |
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
|
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
|
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. |
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
|
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
|
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. |
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
|
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 |
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.
|
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 |
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
|
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 |
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
|
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 |
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
|
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 |
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 |
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
|
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
● 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/ |
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: |
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
|
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) |
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 |
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 |
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.
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
|
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
Student will
|
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
https://www.britannica.com/science/statistics/Experimental-design
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. |
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
|
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:
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
|
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
|
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
|
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. |
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
|
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
|
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. |
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. |
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? |
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
|
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
|
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
|
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
|
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 |
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
|
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
|
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
|
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
https://www.geeksforgeeks.org/count-the-number-of-times-a-letter-appears-in-a-text-file-in-python/ |
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 |
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…
|
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
|
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)
|
|
< |