Intro
00:00:00Computer Engineering merges electrical engineering and computer science, comprising an equal split of core classes from both disciplines. The curriculum includes foundational courses in each field without overlap, while elective options later allow for specialization in various areas within Computer Engineering or its parent fields. This structure provides a comprehensive education that prepares students for diverse roles in technology.
Electrical Engineering
00:00:38Electrical engineering requires a solid understanding of basic circuit components like resistors, capacitors, and inductors. Students learn to analyze voltage and current in simple circuits, which serve as the foundation for more complex systems. Mastery of these fundamental concepts is essential for advancing in electrical engineering.
Logic Gates
00:01:00Logic gates are fundamental components in technology, found in devices like phones and computers. They operate using binary code, processing inputs of ones and zeros to produce specific outputs. Each type of logic gate performs a unique function based on its input configuration. With hundreds of millions of these gates working together, computers can execute complex digital processes efficiently.
Signal Processing
00:01:27Signal processing is crucial for devices like digital locks, wristwatches, and alarm systems. It involves analyzing complex signals or changing voltages over time to design filters that eliminate unwanted noise. For instance, car radios filter out all but the selected station's frequency by allowing only specific signals through while blocking others. This process requires a solid understanding of mathematics and calculus; thus, those interested in this field may find electrical engineering appealing as it heavily incorporates these concepts alongside computer engineering.
Electronics
00:02:33Computer Engineering strikes a balance for those who enjoy math but prefer less intensity than Electrical Engineering. It incorporates essential Electronics courses, focusing on components like transistors and diodes. Transistors can switch between high and low voltages, representing binary data as ones and zeros—fundamental to computer operation. Modern laptops contain over a billion transistors that facilitate this process.
Breadboard
00:03:08Understanding circuit analysis begins with using a breadboard for testing circuits, where knowledge of transistors and their behavior is crucial. An oscilloscope helps visualize electrical signals over time, allowing engineers to observe voltage changes in components like transistors. Transitioning from hardware to software involves learning programming languages such as C and Java, which are essential for building functional applications on platforms used by major companies like Google and Facebook. These languages enable the development of complex systems that power websites and apps but require adherence to specific syntax rules.
Algorithms
00:04:54A program can be created to perform various tasks based on user input. Users can enter two numbers for a sum, provide a list of numbers to find the largest one, or submit a word that will be reversed. Additionally, there may be an opportunity to develop a simple blackjack game. Understanding basic algorithms is crucial as they serve as step-by-step instructions for problem-solving in programming.
Example
00:05:22Computers require precise, step-by-step instructions to perform tasks like searching for a number in a list. For instance, if tasked with finding the number 26 in an ordered list, one method is linear search—checking each element sequentially until the target is found or all elements are exhausted. However, this can be inefficient; instead, using a binary search approach involves checking the middle of the list and eliminating half based on whether 26 is greater or less than that middle value. This significantly reduces checks needed compared to linear searches and exemplifies efficient algorithmic thinking essential for programming.
Arduino
00:06:33Arduino combines hardware and programming, allowing students to solve problems through simple mathematical analysis. It serves as a bridge between circuitry and coding, enabling hands-on learning in electrical engineering. Students enjoy this class for its practical applications of algorithms and programming languages.
Collision Avoidance
00:06:59Collision avoidance systems utilize various inputs from external circuits to function effectively. By connecting sensors, such as position sensors, to an Arduino board, the system can read voltage levels and respond accordingly. Users program specific actions based on these readings by downloading code onto the Arduino. This setup allows for versatile applications in different scenarios where monitoring and responding to environmental changes is crucial.
Job Opportunities
00:07:23Job opportunities in computer engineering vary based on proximity to objects, influencing the programming of Arduino for voltage output. This technology enables robotic vehicles to spin wheels and avoid obstacles, ensuring collision avoidance. A background in computer engineering equips individuals with skills across both software and hardware domains. Career paths include roles at major tech companies like Apple, focusing on operating systems or security encryption, as well as positions within defense firms that require expertise in electronics.
Electives
00:07:59Electives in UAV obstacle avoidance and aircraft radar simulation offer valuable insights into future career paths. These courses blend electrical engineering with computer science, providing a diverse skill set. Options include computer security focusing on firewalls, image processing for facial recognition and 3D images, autonomous robot navigation programming, web development, and interactive design. Such electives enhance practical knowledge essential for advanced roles in technology.