This lesson is an introduction to recursion. [Computer Programming playlist: 12 of 23]
- Subject:
- Computer Science
- Material Type:
- Lecture
- Provider:
- Khan Academy
- Provider Set:
- Khan Academy
- Author:
- Khan, Salman
- Date Added:
- 10/10/2017
This lesson is an introduction to recursion. [Computer Programming playlist: 12 of 23]
This lesson shows how to use recursion to write a Fibonacci function. [Computer Programming playlist: 17 of 23]
This lesson explains simplifying the 'while look' for the Insertion Sort function. [Computer Programming playlist: 23 of 23]
This lesson clarifies what \break\ does and stepping through the insertion sort implementation. [Computer Programming playlist: 22 of 23]
In this lesson you will understand how the iterative Fibonacci function works for a particular example. [Computer Programming playlist: 16 of 23]
This lesson shows why and how the recursive Fibonacci function works. [Computer Programming playlist: 18 of 23]
This lesson shows what happens when a user inputs a particular value into a factorial program in Python. [Computer Programming playlist: 7 of 23]
This computer programming lesson shows how 'while loop' can do the same thing as 'for loop' in Python. [Computer Programming playlist: 4 of 23]
This lesson demonstrates how to write a simple factorial program with a \for\ loop in Python. [Computer Programming playlist: 6 of 23]
A PDF version of a needs assessment survey for regional K - 12 computer science programming. All questions can be customized as needed. Contact CESA 8 for the Google Form version of the survey.
This is an activity designed to have students develop soft skills, specifically communication in a computer science setting using python and the repl IDE. It can be given as a full document, broken up into a jigsaw activity and altered to accomodate different computer languages and IDEs.
This is an activity designed to have students develop soft skills, specifically communication in a computer science setting using python and the repl IDE. It can be given as a full document, broken up into a jigsaw activity and altered to accomodate different computer languages and IDEs. The goal is that students develop needed skills for a career that we don't generally practice in class but are still highly valued by future jobs, even outside of IT. This was created for english readers but can be altered for any language.
The slides give a broad overview of discussion points and activities for a day-long, computer science workshop for middle and high school students. The agenda breaks down the day into small group and whole group sessions. Snacks, lunch, and prizes were built into the day.
Emphasizes the relationship among technology, hardware organization, and programming systems in the evolution of computer architecture. Pipelined, out-of-order, and speculative execution. Superscaler, VLIW, vector, and multithreaded processors. Addressing structures and virtual memory, and exception handling. I/O and memory systems. Parallel computers; message passing and shared memory systems. Memory models, synchronization, and cache coherence protocols. Vector supercomputers. Assumes an undergraduate knowledge of computer systems.
This free ESL lesson plan on computers has been designed for adults and young adults at an intermediate (B1/B2) to advanced (C1/C2) level and should last around 45 to 60 minutes for one student.
Introduces abstraction as an important mechanism for problem decomposition and solution formulation in the biomedical domain, and examines computer representation, storage, retrieval, and manipulation of biomedical data. Examines effect of programming paradigm choice on problem-solving approaches, introduces data structures and algorithms. Presents knowledge representation schemes for capturing biomedical domain complexity. Teaches principles of data modeling for efficient storage and retrieval. The final project involves building a medical information system that encompasses the different concepts taught in the subject.
From the Scratch Wiki:
"Scratch contains the resources available for creating a question/answer system. This system can be used for one to be 'quizzed', or to repetitively answer automated questions. This tutorial shows various methods on how to create a question system. For each method, the ask () and wait block is used to ask questions and input answers."
Use these blocks to teach students to create a quiz for many different concepts and disciplines.
This course introduces cryptography by addressing topics such as ciphers that were used before World War II, block cipher algorithms, the advanced encryption standard for a symmetric-key encryption adopted by the U.S. government, MD5 and SHA-1 hash functions, and the message authentication code. The course will focus on public key cryptography (as exemplified by the RSA algorithm), elliptic curves, the Diffie-Hellman key exchange, and the elliptic curve discrete logarithm problem. The course concludes with key exchange methods, study signature schemes, and discussion of public key infrastructure. Note: It is strongly recommended that you complete an abstract algebra course (such as the Saylor FoundationĺÎĺ_ĺĚĺ_s MA231) before taking this course. Upon successful completion of this course, students will be able to: explain how symmetric and asymmetric key ciphers work; list and define cryptographyĺÎĺ_ĺĚĺ_s goals; list and define the most common classical ciphers; explain the workings of mechanical ciphers Enigma and Lorenz; describe the principles of substitution-permutation networks; describe the algorithms for data encryption and the advanced encryption standard; describe and use the MD5 and SHA-1 hash functions; explain the idea behind public key cryptography; use the RSA cryptography system by applying it to practical problems; test whether the large integer is prime with the mathematical tools presented in this course; define the elliptic curve and use it in cryptography; explain the Diffie-Hellman key exchange; describe the most common signature and autokey identity schemes; describe the conceptual workings of public key infrastructure. This free course may be completed online at any time. (Computer Science 409)
This course features a rigorous introduction to modern cryptography, with an emphasis on the fundamental cryptographic primitives of public-key encryption, digital signatures, pseudo-random number generation, and basic protocols and their computational complexity requirements.
Students gain experience with the software/system design process, closely related to the engineering design process, to solve a problem. First, they learn about the Mars Curiosity rover and its mission, including the difficulties that engineers must consider and overcome to operate a rover remotely. Students observe a simulation of a robot being controlled remotely. These experiences guide discussion on how the design process is applied in these scenarios. The lesson culminates in a hands-on experience with the design process as students simulate the remote control of a rover. In the associated activity, students gain further experience with the design process by creating an Android application using App Inventor to control one aspect of a remotely controlled vehicle. (Note: The lesson requires a LEGO® MINDSTORMS® Education NXT base set.)