This course is an introduction to software engineering, using the Java™ programming …
This course is an introduction to software engineering, using the Java™ programming language. It covers concepts useful to 6.005. Students will learn the fundamentals of Java. The focus is on developing high quality, working software that solves real problems.
This course covers basic topics in autonomous marine vehicles, focusing mainly on …
This course covers basic topics in autonomous marine vehicles, focusing mainly on software and algorithms for autonomous decision making (autonomy) by underwater vehicles operating in the ocean environments, autonomously adapting to the environment for improved sensing performance. It will introduce students to underwater acoustic communication environment, as well as the various options for undersea navigation, both crucial to the operation of collaborative undersea networks for environmental sensing. Sensors for acoustic, biological and chemical sensing by underwater vehicles and their integration with the autonomy system for environmentally adaptive undersea mapping and observation will be covered. The subject will have a significant lab component, involving the use of the MOOS-IvP autonomy software infrastructure for developing integrated sensing, modeling and control solutions for a variety of ocean observation problems, using simulation environments and a field testbed with small autonomous surface craft and underwater vehicles operated on the Charles River.
This course is an introduction to designing mechatronic systems, which require integration …
This course is an introduction to designing mechatronic systems, which require integration of the mechanical and electrical engineering disciplines within a unified framework. There are significant laboratory-based design experiences. Topics covered in the course include: Low-level interfacing of software with hardware; use of high-level graphical programming tools to implement real-time computation tasks; digital logic; analog interfacing and power amplifiers; measurement and sensing; electromagnetic and optical transducers; control of mechatronic systems.
Web development is an evolving amalgamation of languages that work in concert …
Web development is an evolving amalgamation of languages that work in concert to receive, modify, and deliver information between parties using the Internet as a mechanism of delivery.
While it is easy to describe conceptually, implementation is accompanied by an overwhelming variety of languages, platforms, templates, frameworks, guidelines, and standards. Navigating a project from concept to completion often requires more than mastery of one or two complementing languages, meaning today’s developers need both breadth, and depth, of knowledge to be effective.
This text provides the developer with an understanding of the various elements of web development by focusing on the concepts and fundamentals through the examples within, providing a foundation that allows easier transition to other languages and a better understanding of how to approach their work. The reader will be introduced to topics in a manner that follows most project development methods, from initial conceptualization and design through front end development, back end development, and introducing additional concepts like accessibility and security, while focusing on responsive design techniques. Each section of the text includes opportunities to practice the material and assess increased knowledge after examining the topics.
Ozobot makes two robots called Evo and Bit that teach children basic …
Ozobot makes two robots called Evo and Bit that teach children basic programming skills. The Ozobot can identify lines, colors, and codes on both digital surfaces, such as an iPad, and physical surfaces, such as paper.
Students apply concepts of disease transmission to analyze infection data, either provided …
Students apply concepts of disease transmission to analyze infection data, either provided or created using Bluetooth-enabled Android devices. This data collection may include several cases, such as small static groups (representing historically rural areas), several roaming students (representing world-travelers), or one large, tightly knit group (representing urban populations). To explore the algorithms to a deeper degree, students may also design their own diseases using the App Inventor framework.
In this unplugged lesson, students will explore the concept of programming. Students …
In this unplugged lesson, students will explore the concept of programming. Students watch a video showing a sequence of dance steps, then write instructions to “program” each other to replicate the dance. After learning about the concept of programming, groups will create their own dance move to “program” the class to do.
Students watch a video showing a sequence of dance steps, then write …
Students watch a video showing a sequence of dance steps, then write instructions to “program” each other to replicate the dance. Students run into trouble with the length and repetitiveness of the instructions, so the concept of a “loop” is introduced. Students redo their instructions using loops, see examples of loops in other programs, and reflect on why programmers use loops. Loops will be a key concept used in the unit’s final project.
This class builds a bridge between the recreational world of algorithmic puzzles …
This class builds a bridge between the recreational world of algorithmic puzzles (puzzles that can be solved by algorithms) and the pragmatic world of computer programming, teaching students to program while solving puzzles. Python syntax and semantics required to understand the code are explained as needed for each puzzle.
Students will explore different ways to program sprites (characters) in their projects. …
Students will explore different ways to program sprites (characters) in their projects. This lesson will focus on how to program keys on the keyboard in order to control the movement of the sprites in their projects.
Students will also dive into how to effectively use the hide, show, and wait blocks when creating an interactive project.
Students will explore different ways to program sprites (characters) in their projects. …
Students will explore different ways to program sprites (characters) in their projects. This lesson will focus on how to program keys on the keyboard in order to control the movement of the sprites in their projects.
Students will also dive into how to effectively use the hide, show, and wait blocks when creating an interactive project.
Working in small groups, students complete and run functioning Python codes. They …
Working in small groups, students complete and run functioning Python codes. They begin by determining the missing commands in a sample piece of Python code that doubles all the elements of a given input and sums the resulting values. Then students modify more advanced Python code, which numerically computes the slope of a tangent line by finding the slopes of progressively closer secant lines; to this code they add explanatory comments to describe the function of each line of code. This requires students to understand the logic employed in the Python code. Finally, students make modifications to the code in order to find the slopes of tangents to a variety of functions.
This web site is building a set of free materials, lectures, book …
This web site is building a set of free materials, lectures, book and assignments to help students learn how to program in Python. You can take this course and receive a certificate at:
Coursera: Python for Everybody Specialization edX: Python for Everybody FutureLearn: Programming for Everybody (Getting Started with Python) If you log in to this site you have joined a free, global open and online course. You have a grade book, autograded assignments, discussion forums, and can earn badges for your efforts.
This lesson was remixed from a lesson on code.org: Graph Paper ProgrammingThis resource was …
This lesson was remixed from a lesson on code.org: Graph Paper ProgrammingThis resource was remixed to become an unplugged (no device needed) activity that can be done with adults and students to learn how to develop an algorithm and encode it into a program.The goal of this activity is to build critical thinking skills and excitement for the computer science.
No restrictions on your remixing, redistributing, or making derivative works. Give credit to the author, as required.
Your remixing, redistributing, or making derivatives works comes with some restrictions, including how it is shared.
Your redistributing comes with some restrictions. Do not remix or make derivative works.
Most restrictive license type. Prohibits most uses, sharing, and any changes.
Copyrighted materials, available under Fair Use and the TEACH Act for US-based educators, or other custom arrangements. Go to the resource provider to see their individual restrictions.