Software Engineering; Plus a free handout from McGraw Hill's AccessScience
Access to this content is available to Ward’s World readers for free from McGraw Hill’s AccessScience, an award-winning, digital STEM resource that provides immediate, authoritative answers to students’ thirst for scientific knowledge on topics such as climate change, virology, pollution, and more. Ward’s World and McGraw Hill have partnered to offer educators a no-obligation, free trial subscription to this product. Request your free trial today and discover how valuable AccessScience can be for you and your students.
Computers have impacted nearly every aspect of our daily lives. We use them for schoolwork, games, music, videos, and an endless number of other activities. So, it’s exciting to consider the impact the budding software engineers in your class will have on computers in the future! Software engineering is a systematic and disciplined approach to developing software. It applies both computer science and engineering principles and practices to the creation, operation, and maintenance of software systems. Learning about software engineering helps students develop analytical thinking, problem-solving, and math skills. Hip, Hip, Array!
Inspire your class by showing them how human brains are behind all the extraordinary things our computers and devices do. We know that the machines can’t think for themselves…or can they? After all, the goal of artificial intelligence is to create machines that can imitate human thought and behavior. Try challenging students to spot the bots on a website chat widget, for example.
Once students start exploring technical careers, they may get a little bugged out trying to compute their options. Here are a few of the basics that may help:
What is the difference between software engineering, programming, and computer science?
The differences between these areas come down to their role relative to technological theory, creation, and management.
- Software engineers work to understand tools and processes to design, create and maintain computer software. Their primary focus involves analyzing, designing, and maintaining digital systems across a range of formats, including web browsers, computer programs, mobile applications, and digital media programs. Almost every industry worldwide employs software engineers. For example, they help companies like Walmart, Target, Amazon, and even Ward’s Science create and maintain their online shopping websites.
- Computer programmers (aka coders or developers) —They’re responsible for taking the software engineer’s guidelines and developing the programs and software. Their primary focus is writing, evaluating, debugging, and editing lines of code. Programmers are involved in a single stage within the development life cycle and concentrate on one component at a time. Tell students that the latest software update they installed on their cellphones was a result of a computer programmer’s skills. So, all those pesky functionality problems won’t bug you!
- Computer scientists typically work on the theoretical side of computation. They drive innovations with their programming, algorithm, and security skills. Computer scientists’ primary focus is to measure the performance of hardware and software and apply theoretical expertise to real-world problems to develop more efficient technologies. Computer scientists have a motherload of applications. They’re responsible for bringing the world things like the internet, broadband, WWW (browser and HTML), PC/laptop computers, e-mail, digital photography/videography…you know…the little things that touch all of humanity!
Each of these roles can lead to rewarding career paths. You can make a big impact in specialist areas or lead teams and work on expansive projects. The entrepreneurial-minded in these fields may find that they can create their own path and end up working for themselves!
Download McGraw Hill’s AccessScience article, Software Engineering, to develop your lesson plans that help students understand the steps, documentation, engineering tools, and development life cycle. The free download also includes assessment questions and answers you can use to test student understanding.
Crazy Circuits Robotics Kit
Learn the fundamentals of Arduino programing and design. Create robots or interactive displays using the provided servo motors.
Aeronautics: Coding Drone Using DJI Tello
Students use multiple languages to code this drone. Includes tutorials addressing drone blocks, Python, and Scratch.
Crazy Circuits Classroom Set: Programming 101
Basic programming and modifying more complicated code. Uses distance sensors, servos, seven-segment displays, speakers, and LEDs to inspire, not just teach writing code.