All resources in this collection have been identified by keyword Computer Science. If there are resources that should be included, please add this keyword to resources. We hope you find it valuable.
In this lesson, students will be presented with a project that they will decompose with their partners without having access to its code and without access to a computer. Students will work in teams to recreate the project shown in the following lesson.
Following a brief classroom discussion of relevant principles, each student completes the paper design of several advanced circuits such as multiplexers, sample-and-holds, gain-controlled amplifiers, analog multipliers, digital-to-analog or analog-to-digital converters, and power amplifiers. One of each student's designs is presented to the class, and one may be built and evaluated. Associated laboratory emphasizing the use of modern analog building blocks. Alternate years.
Recent results in cryptography and interactive proofs. Lectures by instructor, invited speakers, and students. Alternate years. The topics covered in this course include interactive proofs, zero-knowledge proofs, zero-knowledge proofs of knowledge, non-interactive zero-knowledge proofs, secure protocols, two-party secure computation, multiparty secure computation, and chosen-ciphertext security.
In this unplugged lesson, students will learn how to develop algorithms and the importance of providing specific instructions while making a simple deli sandwich. This lesson is part of the Virginia K-12 Computer Science Pipeline which is partly funded through a GO Virginia grant in partnership with Chesapeake Public Schools, Loudoun County Public Schools, and the Loudoun Education Foundation.
In this unplugged CS lesson, students will learn the importance of giving detailed directions when sharing ideas. This transfers to programming when students are told that when they provide instructions to the computer, they too need to be detailed and specific. This lesson is part of the Virginia K-12 Computer Science Pipeline which is partly funded through a GO Virginia grant in partnership with Chesapeake Public Schools, Loudoun County Public Schools, and the Loudoun Education Foundation.
In-depth study of an active research topic in computer graphics. Topics change each term. Readings from the literature, student presentations, short assignments, and a programming project. Animation is a compelling and effective form of expression; it engages viewers and makes difficult concepts easier to grasp. Today's animation industry creates films, special effects, and games with stunning visual detail and quality. This graduate class will investigate the algorithms that make these animations possible: keyframing, inverse kinematics, physical simulation, optimization, optimal control, motion capture, and data-driven methods. Our study will also reveal the shortcomings of these sophisticated tools. The students will propose improvements and explore new methods for computer animation in semester-long research projects. The course should appeal to both students with general interest in computer graphics and students interested in new applications of machine learning, robotics, biomechanics, physics, applied mathematics and scientific computing.
This set of cards can be used in a workshop or a "Maker Faire" type of event. They give quick tidbits of code for building mini-apps with App Inventor. Use them in exhibits, parent nights, STEM fairs, after-school clubs, or anywhere that you need to get people jump-started using App Inventor.
This course introduces students to the basic knowledge representation, problem solving, and learning methods of artificial intelligence. Upon completion of 6.034, students should be able to develop intelligent systems by assembling solutions to concrete computational problems, understand the role of knowledge representation, problem solving, and learning in intelligent-system engineering, and appreciate the role of problem solving, vision, and language in understanding human intelligence from a computational perspective.
The excitement for the creative power of programming and the questions about how to assess students’ creative work prompted us to undertake this project, which was funded through the generous support of Google’s Computer Science Education Research program. In this project, we were guided by a central question: How do K-12 computing teachers assess creative programming work? Our approach was simple: during the summer of 2019, we talked to 80 K–12 computing teachers across the U.S. about how they supported and assessed creative work in programming activities. In our conversations, typically between two teachers and a member of our team, teachers brought a pair of assessment examples and used those examples as the foundation for a broader discussion about creativity, programming, and assessment.
Through these conversations, as well as an examination of the assessment research literature, we identified key principles that guide the assessment of creative programming activities:
-Foster a classroom culture that values assessment.
-See student process as well as product.
-Understand what is creative for the student.
-Support students by incorporating feedback from multiple perspectives.
-Scaffold opportunities for students to develop judgment of their own work.
Thanks to these incredible teachers who met with us and generously shared their thinking about their practice, we were able to gather more than 300 assessments, ranging from class project rubrics to examples of student project portfolios. In this document, we are sharing our understandings in two ways: (1) a collection of four case studies, and (2) a selection of 50 assessments. The case studies tell the stories of four teachers who are putting the guiding principles of creative assessment into practice in the complex, real-life contexts of their classrooms.
The 50 assessments represent a curated collection of real assessments that teachers are using in their classrooms, accompanied by quotes from teachers about what the assessment of creative work entails.
This course provides a challenging introduction to some of the central ideas of theoretical computer science. Beginning in antiquity, the course will progress through finite automata, circuits and decision trees, Turing machines and computability, efficient algorithms and reducibility, the P versus NP problem, NP-completeness, the power of randomness, cryptography and one-way functions, computational learning theory, and quantum computing. It examines the classes of problems that can and cannot be solved by various kinds of machines. It tries to explain the key differences between computational models that affect their power.
Graduate-level introduction to automatic speech recognition. Provides relevant background in acoustic theory of speech production, properties of speech sounds, signal representation, acoustic modeling, pattern classification, search algorithms, stochastic modeling techniques (including hidden Markov modeling), and language modeling. Examines approaches of state-of-the-art speech recognition systems. Introduces students to the rapidly developing field of automatic speech recognition. Its content is divided into three parts. Part I deals with background material in the acoustic theory of speech production, acoustic-phonetics, and signal representation. Part II describes algorithmic aspects of speech recognition systems including pattern classification, search algorithms, stochastic modelling, and language modelling techniques. Part III compares and contrasts the various approaches to speech recognition, and describes advanced techniques used for acoustic-phonetic modelling, robust speech recognition, speaker adaptation, processing paralinguistic information, speech understanding, and multimodal processing.
The PFACS game engages students in playing the role of a music producer who must use data and computational thinking to promote their artist’s careers. “Data and Analysis” is one of five strands in the CS K-12 Framework — and it is a strand that readily bridges to mathematics and science content that you already teach. By giving students time to play the game and then having related classroom discussions, you can gain insight into your students’ progress in understanding these concepts.
This game does NOT require any coding skills nor knowledge of any programming language. It is about making choices using computational thinking concepts, not about writing code.
Beats Empire was designed for teachers:
In middle schools classrooms
That integrate data science, computational thinking and related concepts
For about an hour of use spread over 2-3 class periods
Where students have access to any computer, laptop or desktop, with Chrome or Firefox browser (not recommended for tablets or phones).
The key goals of Beats Empire are:
Students explore how their data skills addresses a real world challenge
Students gain career awareness of attractive data science jobs
Teachers increase their understanding of what students know and can do
In this lesson, students use the Bee Bots to move throughout their space. If Bee Bots are inaccessible, the lesson can be adapted by using the online coding platform. This lesson is part of the Virginia K-12 Computer Science Pipeline which is partly funded through a GO Virginia grant in partnership with Chesapeake Public Schools, Loudoun County Public Schools, and the Loudoun Education Foundation.