Courses tagged with "Engineering" (375)
Creativity is an acquired skill that improves with practice. Creativity changes the world and enriches people’s lives. It takes two skills: “discovery” - discovering new ideas, and “delivery” – implementing ideas, using proven tools and methods. This course, on “discovery”, will provide proven tools that will help you discover an endless stream of creative ideas.
Modern computer technology requires an understanding of both hardware and software, as the interaction between the two offers a framework for mastering the fundamentals of computing. The purpose of this course is to cultivate an understanding of modern computing technology through an in-depth study of the interface between hardware and software. In this course, you will study the history of modern computing technology before learning about modern computer architecture and a number of its important features, including instruction sets, processor arithmetic and control, the Von Neumann architecture, pipelining, memory management, storage, and other input/output topics. The course will conclude with a look at the recent switch from sequential processing to parallel processing by looking at the parallel computing models and their programming implications.
Are you tired of hearing that your computer has a virus? Or that your email account has been hacked? Now, is the time for you to protect yourself by understanding the basics of cyber security.
This computer science course presents an introduction to cyber security showing different aspects of this discipline. You will learn what the main existing cyber security threats are and how to protect yourself against them. The course presents a practical approach in which all required material will be provided to allow you to better understand attacks and establish appropriate countermeasures.
Taught by instructors with years of experience in the field of computer security, this course will pave the way to the security area of IT-related professions.
EECS149.1x introduces students to the design and analysis of cyber-physical systems --- computational systems that are integrated with physical processes. Applications of such systems include medical devices and systems, consumer electronics, toys and games, assisted living, traffic control and safety, automotive systems, process control, energy management and conservation, environmental control, aircraft control systems, communications systems, instrumentation, critical infrastructure control (electric power, water resources, and communications systems for example), robotics and distributed robotics (telepresence, telemedicine), defense systems, manufacturing, and smart structures.
A major theme of the course is on the interplay of practical design with formal models of systems, including both software components and physical dynamics. A major emphasis will be on building high confidence systems with real-time and concurrent behaviors. Students will apply concepts learned in lectures to programming a robotic controller in a specially-designed virtual laboratory environment with built-in automatic grading and feedback mechanisms.
This edX course is an online adaptation of the UC Berkeley undergraduate course EECS 149, covering a subset of topics that are especially relevant for the lab component of that class.
Knowing how to code is only part of the skills needed to become a professional software developer.
This course, part of the CS Essentials for Software Development Professional Certificate program, will take your skills to the next level by teaching you how to write “good” software that appropriately represents and organizes data, is easy to maintain, and is of high quality.
As the purpose of most computer programs is to manipulate data, sometimes large quantities of it, the manner in which programs represent and organize data can have an enormous effect on the simplicity and efficiency of the code. In this course, you will learn about important core data structures such as arrays, lists, stacks, queues, sets, maps, trees, and graphs, and learn how to evaluate them and reason about their behavior and efficiency.
Most importantly, you will learn how to determine which data structure is the most appropriate for solving the problem at hand, and see how to use the implementations that are part of the Java library.
However, choosing the right data structure is only part of the challenge of developing high quality software: you must also consider the design of the classes that use those data structures. You will learn about software design principles such as modularity, functional independence, and abstraction, and apply those concepts toward writing programs that are easy to understand, easy to modify, and easy to test.
Although it is important to know how to write high quality code, professional software developers often spend a majority of their time maintaining existing code. You will also learn about software refactoring techniques for improving the design of existing code, and see how to improve code efficiency.
This course will use Java but the concepts you learn can be applied to almost all modern programming languages.
The course explores visionary and practical concepts of city design and planning, past and present, and how design can address such looming challenges as urban population growth, climate change and rising sea levels. Participants will be encouraged to make proposals for city design and development, starting with their own immediate environment.
Design professionals, supervisors and managers are required to understand, use, and extract value from digital manufacturing. Industrial design is a world that has grown increasingly digital, and in which the duration from idea to implementation is shorter than it has ever been.
This course gives you an opportunity to connect to emerging trends and technologies, the instructors, and their insights. It is taught by TU Delft's leading scholars and experts in digital manufacturing. The Industrial Design Engineering faculty at TU Delft is a world leader in the application of technology, especially in applying it in a human-centered way. It is known for setting the agenda for the creative industry.
There are three major steps in the digital manufacturing workflow that we cover in depth. These include: scanning, modelling, and fabrication. We also consider how each step could be applied within your business, and the value that each can offer.
In this course we will explore primary additive manufacturing technologies, of which some can be considered as 3D printing. Those include: material extrusion, powder bed fusion, material jetting, binder jetting, sheet lamination, photopolymerization, and directed energy deposition. We consider their advantages, logistical challenges, and the workflow required to get the most out of this palette of techniques.
The course uses hands-on assignments with software and mobile applications to develop your skills. We also have guest lectures from some of today’s most innovative designers; spurring exciting discussions. We hope to stimulate conversation about ownership and authenticity, the role of designers, and the benefits and implications of digital fabrication. These represent opportunities to network and interact with professionals worldwide, as well as the master students from TU Delft who take the course along with you.
Every business today depends on connectivity, and now there is increasing demand for engineers who can design, develop and manage data networks – and keep them secure as well.
This applied computer science MOOC will give you the hands-on know-how to master the network technologies used every day to communicate and access information via the web and phones.
You’ll learn the vocabulary, concepts and mechanisms common to all digital networks, and explore the TCP, UDP and IP protocols that support all online communications.
You’ll also see how a global network is organized and how its components work together, and understand the importance of standards and protocols. This course is designed for students or professionals with a background in science or computing.
Practical coursework is carried out in a Unix virtual environment that can be installed on any modern computer.
Sign up now and sharpen up your network knowledge!
The course introduces you to digital circuits and their merits and demerits over analog circuits. Basic building blocks of both combinational and sequential circuits or introduces and many examples of circuit design using these building blocks are presented. You will also be introduced to the design of digital systems such as traffic light controller.