This book is Part II of a two-part set that introduces the …
This book is Part II of a two-part set that introduces the Java programming language. The text assumes the student will be using the BlueJ development environment and provides some introductory BlueJ material. Our experience has been that BlueJ is easy to learn and provides a good programming environment for the beginner programmer.
Students make their own design decisions about controlling the LEDs in a …
Students make their own design decisions about controlling the LEDs in a light-up, e-textile circuit, plush toy project that they make using LilyPad ProtoSnap components and conductive thread. They follow step-by-step instructions to assemble a product while applying their own creativity to customize it. They first learn about the switches—an on/off switch and a button—exploring these two ways of controlling the flow of electric current to LEDs and showing them the difference between closed and open circuits. Then they craft their creative light-up plush pals made from sewn and stuffed felt pieces (template provided) that include sewn electric circuits. Through this sewable electronics project, students gain a familiarity with microcontrollers, circuits, switches and LEDs—everyday items in today’s world and the components used in so many engineered devices.
The Little Book of Semaphores is a free (in both senses of …
The Little Book of Semaphores is a free (in both senses of the word) textbook that introduces the principles of synchronization for concurrent programming.In most computer science curricula, synchronization is a module in an Operating Systems class. OS textbooks present a standard set of problems with a standard set of solutions, but most students don't get a good understanding of the material or the ability to solve similar problems.The approach of this book is to identify patterns that are useful for a variety of synchronization problems and then show how they can be assembled into solutions. After each problem, the book offers a hint before showing a solution, giving students a better chance of discovering solutions on their own.The book covers the classical problems, including "Readers-writers," "Producer-consumer", and "Dining Philosophers." In addition, it collects a number of not-so-classical problems, some written by the author and some by other teachers and textbook writers. Readers are invited to create and submit new problems.
Students are challenged to design and program Arduino-controlled robots that behave like …
Students are challenged to design and program Arduino-controlled robots that behave like simple versions of the automated guided vehicles engineers design for real-world applications. Using Arduino microcontroller boards, infrared (IR) sensors, servomotors, attachable wheels and plastic containers (for the robot frame), they make "Lunch-Bots." Teams program the robots to meet the project constraints—to follow a line of reflective tape, make turns and stop at a designated spot to deliver a package, such as a sandwich or pizza slice. They read and interpret analog voltages from IR sensors, compare how infrared reflects differently off different materials, and write Arduino programs that use IR sensor inputs to control the servomotors. Through the process, students experience the entire engineering design process. Pre/post-quizzes and coding help documents are provided.
There are a number of excellent, comprehensive, and in-depth texts on MIPS …
There are a number of excellent, comprehensive, and in-depth texts on MIPS assembly language programming. This is not one of them.The purpose of this text is to provide a simple and free reference for university level programming and architecture units that include a brief section covering MIPS assembly language programming. The text assumes usage of the QtSpim simulator. An appendix is included that covers the download, installation, and basic use of the QtSpim simulator.The scope of this text addresses basic MIPS assembly language programming including instruction set usage, stacks, procedure/function calls, QtSpim simulator system services, multiple dimension arrays, and basic recursion.
Deriving a symbolic description of the environment from an image. Understanding physics …
Deriving a symbolic description of the environment from an image. Understanding physics of image formation. Image analysis as an inversion problem. Binary image processing and filtering of images as preprocessing steps. Recovering shape, lightness, orientation, and motion. Using constraints to reduce the ambiguity. Photometric stereo and extended Gaussian sphere. Applications to robotics; intelligent interaction of machines with their environment. Machine Vision provides an intensive introduction to the process of generating a symbolic description of an environment from an image. Lectures describe the physics of image formation, motion vision, and recovering shapes from shading. Binary image processing and filtering are presented as preprocessing steps. Further topics include photogrammetry, object representation alignment, analog VLSI and computational vision. Applications to robotics and intelligent machine interaction are discussed.
What is inside a video game controller? Students learn about simple circuits …
What is inside a video game controller? Students learn about simple circuits and switches as they build arcade controllers using a cardboard box and a MaKey MaKey—an electronic tool and toy that enables users to connect everyday objects to computer programs. Each group uses a joystick and two big push button arcade buttons to make the controller. They follow provided schematics to wire, test and use their controllers—exploring the functionality of the controllers by playing simple computer games like Tetris and Pac-Man. Many instructional photos, a cutting diagram and a wiring schematic are included.
Students control small electric motors with Arduino microcontrollers to make simple sticky-note …
Students control small electric motors with Arduino microcontrollers to make simple sticky-note spinning fans and then explore other variations of basic motor systems. Through this exercise, students create circuits that include transistors acting as switches. They alter and experiment with given basic motor code, learning about the Arduino analogWrite command and pulse width modulation (PWM). Students learn the motor system nuances that enable them to create their own motor-controlled projects. They are challenged to make their motor systems respond to temperature or light, to control speed with knob or soft potentiometers, and/or make their motors go in reverse (using a motor driver shield or an H-bridge). Electric motors are used extensively in industrial and consumer products and the fundamental principles that students learn can be applied to motors of all shapes and sizes.
Computer-controlled servos enable industrial robots to manufacture everything from vehicles to smartphones. …
Computer-controlled servos enable industrial robots to manufacture everything from vehicles to smartphones. For this maker challenge, students control a simple servo arm by sending commands with their computers to Arduinos using the serial communication protocol. This exercise walks students through the (sometimes) unintuitive nuances of this protocol, so by the end they can directly control the servo position with the computer. Once students master the serial protocol, they are ready to build some suggested interactive projects using the computer or “cut the cord” and get started with wireless Bluetooth or XBee communication.
This book will teach you how to make graphical computer games in …
This book will teach you how to make graphical computer games in the Python programming language using the Pygame library.This book assumes you know a little bit about Python or programming in general. If you don’t know how to program, you can learn by downloading the free book "Invent Your Own Computer Games with Python" from http://inventwithpython.com. Or you can jump right into this book and mostly pick it up along the way. This book is for the intermediate programmer who has learned what variables and loops are, but now wants to know, "What do actual game programs look like?" There was a long gap after I first learned programming but didn’t really know how to use that skill to make something cool. It’s my hope that the games in this book will give you enough ideas about how programs work to provide a foundation to implement your own games.
The goal of this maker challenge is to demystify sensors, in particular …
The goal of this maker challenge is to demystify sensors, in particular the ambient light sensor, and to map its readings visually. In today’s world, we make sense of the environment around us by filling it with sensors, and we use output devices to display real-time data in a meaningful way. Take any smartphone as an example. Aside from the embedded camera and microphone, a number of other sensors collect a wide range of data. Depending upon the model, these sensors may collect data on proximity, motion, ambient light, moisture, compass, and touch. Some of these data are directly visualized through an app, while many operate internally and without a user interface, just below the surface of the screen. In order to become more familiar with the technology that we use (and often take for granted) on a daily basis, your challenge is to assemble a light sensor circuit, observe its readings using the Arduino Serial Monitor, and then create your own unique visualization by interfacing with the Processing software. Students learn how to use calibration and smoothing to capture a better picture of the data. Afterwards, they share their visualizations with the entire class. The time required for this challenge depends on students’ prior knowledge of Arduino and Processing software. Background resources for beginners help students get up to speed on microcontroller hardware and offer additional challenges for intermediate and advanced users.
Students apply sound-activated light-up EL wire to create personalized light-up clothing outfits. …
Students apply sound-activated light-up EL wire to create personalized light-up clothing outfits. During the project, students become familiar with the components, code and logic to complete circuits and employ their imaginations to real-world applications of technology. Acting as if they are engineers, students are challenged to incorporate electroluminescent wire to regular clothing to make attention-getting safety clothing for joggers and cyclists. Luminescent EL wire stays cool, making it ideal to sew into wearable projects. They use the SparkFun sound detector and the EL sequencer circuit board to flash the EL wire to the rhythm of ambient sound, such as music, clapping, talking—or roadway traffic sounds! The combination of sensors, microcontrollers and EL wire enables a wide range of feedback and control options.
Based on their experience exploring the Mars rover Curiosity and learning about …
Based on their experience exploring the Mars rover Curiosity and learning about what engineers must go through to develop a vehicle like Curiosity, students create Android apps that can control LEGO MINDSTORMS(TM) NXT robots, simulating the difficulties the Curiosity rover could encounter. The activity goal is to teach students programming design and programming skills using MIT's App Inventor software as the vehicle for the learning. The (free to download) App Inventor program enables Android apps to be created using building blocks without having to actually know a programming language. At activity end, students are ready to apply what they learn to write other applications for Android devices.
Topics vary from year to year. Topic for Fall: Eigenvalues of random …
Topics vary from year to year. Topic for Fall: Eigenvalues of random matrices. How many are real? Why are the spacings so important? Subject covers the mathematics and applications in physics, engineering, computation, and computer science. This course covers algebraic approaches to electromagnetism and nano-photonics. Topics include photonic crystals, waveguides, perturbation theory, diffraction, computational methods, applications to integrated optical devices, and fiber-optic systems. Emphasis is placed on abstract algebraic approaches rather than detailed solutions of partial differential equations, the latter being done by computers.
This course covers elementary discrete mathematics for computer science and engineering. It …
This course covers elementary discrete mathematics for computer science and engineering. It emphasizes mathematical definitions and proofs as well as applicable methods. Topics include formal logic notation, proof methods; induction, well-ordering; sets, relations; elementary graph theory; integer congruences; asymptotic notation and growth of functions; permutations and combinations, counting principles; discrete probability. Further selected topics may also be covered, such as recursive definition and structural induction; state machines and invariants; recurrences; generating functions.
The focus of the course is on medical science and practice in …
The focus of the course is on medical science and practice in the age of automation and the genome, both present and future. It includes an analysis of the computational needs of clinical medicine, a review systems and approaches that have been used to support those needs, and an examination of new technologies.
Presents the main concepts of decision analysis, artificial intelligence, and predictive model …
Presents the main concepts of decision analysis, artificial intelligence, and predictive model construction and evaluation in the specific context of medical applications. Emphasizes the advantages and disadvantages of using these methods in real-world systems and provides hands-on experience. Technical focus on decision analysis, knowledge-based systems (qualitative and quantitative), learning systems (including logistic regression, classification trees, neural networks), and techniques to evaluate the performance of such systems. Students produce a final project using the methods learned in the subject, based on actual clinical data. (Required for students in the Master's Program in Medical Informatics, but open to other graduate students and advanced undergraduates.)
Este trabajo ha sido desarrollado gracias a la interacción como docente universitario …
Este trabajo ha sido desarrollado gracias a la interacción como docente universitario en la enseñanza teórica y práctica de la materia de microprocesadores con diversos grupos de estudiantes por alrededor de 15 años. Es con sus exigencias, cuestionamientos y colaboraciones con sus proyectos prácticos implementados en los cursos dictados, que se ha podido construir una guía comprensiva, que trate de responder de una forma adecuada las múltiples dudas de los estudiantes en su proceso de aprendizaje.
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.
Languages and compilers to exploit multithreaded parallelism. Implicit parallel programming using functional …
Languages and compilers to exploit multithreaded parallelism. Implicit parallel programming using functional languages and their extensions. Higher-order functions, non-strictness, and polymorphism. Explicit parallel programming and nondeterminism. The lambda calculus and its variants. Term rewriting and operational semantics. Compiling multithreaded code for symmetric multiprocessors and clusters. Static analysis and compiler optimizations.
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.