Engineering symbols for electricity, chemistry, physics, and STEM educationTechnology can refer to both the tools we use, and the skills and knowledge used to create them; because of that duality, it is possible and often desirable for the technologist to create a tool, with embedded technology that effectively shields the user from the underlying workings of the tool. An example of this is the automatic transmission in a car – there was a time when all cars were shifted manually, requiring the driver to coordinate hands and feet, the sound of the engine and the (analog!) speedometer, to correctly manipulate a gearshift lever. The automatic transmission was a high-tech device in its time, which allowed the driver to merely go faster or slower while the tool took care of deciding when and which way to shift gears…but few drivers could actually explain the mechanical engineering technology that went into designing and building an automatic transmission.

8-speed automatic transmission

8-speed automatic transmission
Photo: ZF

That’s a successful development and application of technology, since a student who just finished drivers’ ed and their parents can both get in a car they’ve never driven before, drop it in “D”, and drive off without having to wonder how or why it works. That recalls one of my favorite quotes, from the author of 2001: A Space Odyssey Arthur C. Clarke: Any sufficiently advanced technology is indistinguishable from magic.

We can broadly categorize technology processes into two phases: Technology development, and technology application. In the former, people who create and develop new technologies are often searching for something new or novel just to see what is possible, without necessarily having an end in mind…ending up with “a solution looking for a problem”. The early days of electronics were often the realm of ‘enthusiasts’, people who eagerly learned and shared discoveries and methods, and who often had to make their own gadgets; can you imagine if your smartphone Quick Start guide started out with ‘first, get out your soldering iron…’! Personal computers had a similar community of enthusiastic experimenters, who wanted to figure out technology just to see if they could do it, which arguably started in a garage meeting of the Homebrew Computer Club that inspired Steve Wozniak to design the Apple I, and gave rise to the Berkeley Macintosh Users Group or BMUG.

Clubs were an early example of the open-source movement, encouraging the sharing hardware tricks or snippets of code. As part of the STEM education lifestyle, these are the kinds of activities that STEM majors get into in their spare time, and are a good way to gauge a student’s interest in STEM. Like early enthusiasts who figured out a red and blue blinking light circuit, the high school junior who eagerly spends hours learning the arcane skills and knowledge of HTML or Swift and setting up home WiFi security is likely to be successful academically in a STEM major, discovering the technologies of the future.

Technology application is the other phase of high-tech: Now that I know I can do this, what can I do with it? One famous example in the world of high-tech plastics was the discovery of Lexan® in the GE Plastics laboratory in 1953. Nine years after Dr. Fox created an unbreakable plastic, it was being used by NASA for astronaut helmet’s Lunar Extravehicular Visor Assembly; seven years later Lexan® was used in automobile taillights. Music CDs, unimaginable in 1953, became a commercial product three decades after the technology was discovered, by the application of GE Plastics’ technology. Without technology application expertise, high-tech would remain a garage club curiosity; without the development of new technology, application would be a magical science-fiction story.

The analog world, digitized

If you’re reading this on a computer, phone, or e-book, you are experiencing the digital world. Streaming music, flipping through Snapchat, all digital. Whether typing on a QWERTY keyboard or using voice recognition – you’re passing through the digital world. When people refer to studying or working in ‘high-tech’, much of that involves creating, manipulating, and communicating between digital tools and models, and the analog world around us.

When we talk about analog, what does that actually mean? At it’s core, the analog world is about continuous variation. When Walt Disney penned the Steamboat Willie cartoons, he was tricking your eyes into thinking that Mickey Mouse was really spinning the boat’s steering wheel and whistling, making it appear that these movements were actually continuous when in reality it was a series of discrete images viewed at the correct speed and sequence.

Photo: WIndyboy / Shutterstock.com

Photo: WIndyboy / Shutterstock.com

Ironically, no matter how much you integrate technology into your digital world, you are still tethered to an immutable truth, which is that we live in an analog world. And that becomes the central mission of one area of technology, which is the creation of digital representations of the world, manipulation of those representations, and the transmittal back out to the analog receiver. Take as an example, the ‘swipe’ on a touchscreen. When you placed your finger on the screen and moved it to the right, someplace deep in the software an algorithm calculated the acceleration and speed of your finger movement (thanks, physics!), shifted the video display memory to move the picture (Computer science), and calculated the momentum you created and continued moving the pic after you lift your finger (mechanical engineering). But none of these things actually happened – it was just made to appear that way by the digital representation of your analog world, as if you’d swiped a printed photo off the table.

Many early computers were actually analog computing devices and John Ragazzini of Columbia University published a paper on the “Analysis of Problems in Dynamics by Electronic Circuits” –using continuous variables to calculate equations, which were themselves mathematical models of real-world analog phenomena. In Applications of Math, you can read about the math STEM majors and their field of study, which includes the use of calculus and differential equations to model motion, vibration, static strength, and electric fields. And while analog computers have gone the way of the slide rule as an everyday tool for the STEM student, the concepts embodied in these early computers are valid in visualizing the analog world around us.

What happens in the lab…doesn’t stay in the lab: Proof of concept and scalability

As I’ve written before, Thomas Edison’s quest for a light bulb filament led him to test more than 6000 materials – this is after he had ‘invented’ the incandescent bulb but found his original versions lasted a mere 40 hours…miraculous in its achievement but less than needed to make a commercial product. And technology development research goes on today, such as the University of Texas at Dallas NanoTech Institute team that created electrically conducting fibers with near-constant resistance and variable capacitance, by wrapping carbon nanotubes around a rubber core – a far journey from Edison’s carbonized bamboo. As a student looks for the type of STEM major, and STEM college to attend, the presence of specific institutes and laboratory efforts, along with the research interests of senior faculty and department heads, are important metrics to use in your ‘fit’ evaluation. While many universities have, say, chemistry departments and award degrees in types of chemistry, the research interests of the faculty and graduate teaching assistants will influence the classroom examples, lab work, and extracurricular events.

Students interested in engineering should look into the learning laboratories available within their intended major. For example, if a student is interested in civil engineering, the Structures and Construction Testing Laboratory at Florida International University provides students with the ability to test full-scale structures – a great opportunity to compare the theoretical calculations in the textbook with results in the real world.

LSU Petroleum Engineering Research & Technology Transfer Laboratory (PERTT Lab)

LSU Petroleum Engineering Research & Technology Transfer Laboratory (PERTT Lab)

The Petroleum Engineering department at Louisiana State University has a laboratory that provides full-scale actual oil well equipment, supporting research into drilling and production of oil and gas using the same types of equipment that a petroleum engineer would design and use on the job. The presence of a discipline-specific laboratory is a sign the university is committed to that major as a core competency; the lab involves significant financial outlay and an ongoing faculty commitment to using it for instructional and research projects. This kind of laboratory experience is very important in providing employable skills, improving the depth of understanding of the limits of theory, the accuracy of calculated predictions, and building confidence in the student engineer’s analytical capabilities.

Software and hardware

Early computers were essentially hardware-based, and were hardly computers as you know them today; as recently as the early 1950’s they were referred to as “automatic calculating machines”. Programming consisted of rewiring the connections between calculating nodes. But even then, the concept of a programmable computer had been proposed by none other than Alan Turing, memorably played by Benedict Cumberbatch in the film The Imitation Game (2015). Turing proposed a computer, a Universal Turing Machine, which would solve any computational problem by using transition rules and a specified initial state. When a high school student today writes a program in Python or scripts a website in php, they are creating the transition rules and initial state instructing the computer in its tasks. Computers can be general-purpose units like a PC, or can be highly specialized and optimized for specific purposes, like the Siemens SIMATIC WinCC/Step 7 controller used to run centrifuges in a uranium enrichment facility, and famously infected by the Stuxnet virus.

Electrical Engineering and Computer Science: marrying hardware and software

Students who have an aptitude for STEM and an excellent academic record are often coached to go into “computers” or “high tech”. The challenge is to drill down to something more specific, because that advice is like suggesting we should get “food” for lunch. Similarly, selling pet supplies on the internet is not “high tech”; rather, it is the computer platform used to access the internet, the packet switching network that transmits data between computers, and the pet supplies database and security algorithm that sends the goods to the customer and the supplier paid. Each of those elements has some common fundamentals, but quickly diverge into an array of disciplines, each correlating to a STEM major. Arguably the first divergence is between electrical engineering and computer science, as premised by Turing. The important consideration for the STEM student is to start on a path that fits their interests and passions, and in the following sections we will explore how a high school student can decide whether one of these majors is right for them, and which one is a better fit.

Hardware is broadly the domain of the electrical engineer, along with many other disciplines that support the specification, design, and manufacturing of the hardware. As an undergraduate, the focus is on understanding the theories underpinning the hardware: the math and physics of electromagnetic fields, and the linear and differential equations governing inductance, resistance, and capacitance. For this, a grounding in high school physics and calculus is essential; more importantly, a student has to really – and I mean really – enjoy calculus. In addition to some significant math, the electrical engineer usually takes classes in the design and manufacturing of semiconductor devices (once they understand the physics of them);

A California Institute of Technology alumnus, William Shockley, shared the 1956 Nobel Prize in Physics for the discovery of the transistor effect, and today Caltech electrical engineers take undergraduate courses where the student “is required to complete individually the design, layout, and verification of a moderately complex integrated circuit” and “design and implement both the hardware and software for a project of their own invention.” These skills are directly applicable to a career in hardware design, manufacturing, and integration.

There is significant overlap between the computer science and electrical engineering undergraduate curricula; both of the courses described above are credited, at Caltech, towards either major. The CS major, however, has significant focus on the software: Turing’s transition rules. An undergraduate in CS has a number of different tracks to follow, but starts out with the foundational skills. One of those is coding – the knowledge of one or more computer languages that allow the creation and verification of transition rules. While there is an ongoing debate between coders about which language is better for which purpose, it is safe to say that having learned one language, learning a second becomes easier. Also, languages come and go in popularity; there are still systems written in COBOL, which originated in 1959, running today. Python and Ruby on Rails are modern tools currently used, and in ten years there will be something else.

Unknown (Smithsonian Institution)

Grace Murray Hopper at the UNIVAC keyboard, c. 1960. American mathematician and rear admiral in the U.S. Navy who was a pioneer in developing computer technology, helping to devise UNIVAC I. the first commercial electronic computer, and naval applications for COBOL (common-business-oriented language).
Credit: Unknown (Smithsonian Institution)

Additionally, for continuing education needs there is a non-degree education industry offering ongoing toolkit training, such as ‘learn node.js in a weekend’. Beyond coding are the concepts and study tracks in a CS major which a student can select from, usually after completing the core 1st year requirements. Some examples are: machine learning and artificial intelligence, networks, robotics and control, and database systems – and these concentrations aren’t generally selected when applying to college. For a high school student considering a major in computer science, learning to code some simple programs, and having the grit to troubleshoot that code until it works properly, are good indicators of their ability to thrive and succeed in a CS major.

The User Experience (UX) and data processing and analytics: the full-stack developer

In the early days of general-purpose computers, a single programmer typically wrote the complete program, from the user input to the final printout. Code had to be compact due to the limited amount of memory available, and there was neither an appetite nor a technology for the bells and whistles we see on a simple web site today. Importantly, the coder could expect that the user had a high level of proficiency in computers. Similarly, the data set used by early computers was self-contained within the program; the stack, at the time, consisted of an actual stack of punched cards that included both the program cards and the data to be processed. As microprocessors became faster and memory became cheaper, two trends emerged in computer science: The ability to place a layer, or shell, between the computer’s language and the user, and the semi-permanent storage of information available to multiple users with multiple programs. The former evolved from a (often graphical) user interface into the more fulsome User eXperience, whereas the latter gave rise to structured ways of organizing and retrieving information.

Full-stack is a term that refers to the entire suite of software tools used to build a project; just like a user might have a word processer for writing letters and use a spreadsheet to keep a list of addresses, a major information technology project may use many different software tools to perform individual tasks. Having an understanding of those tools, knowing which one is most appropriate for the task at hand, and attaining a high level of proficiency in several of the tools combine to make someone a full-stack developer; an easy bifurcation is the front end and back end, or UX and database.

UX Process

Creating the user interface from specification to delivery

UX

My favorite example of the optimal user experience is the light switch. With a simple transition rule, and immediate feedback of the action, we use them every day without thinking about it – flip the switch, change the lights from off to on or vice versa. If only our computer user experience was that obvious. In the early days we had to type a command, something as non-intuitive as % set path=(/bin /usr/bin /usr/local/bin). But then the geniuses at Xerox PARC in Palo Alto created the graphical user interface (or was it NORAD at Malmstrom?) and we were on the way towards a point and click UX. Many users today can buy and use a computer, never knowing that their GUI is just the shell wrapped around the computer, which can be controlled by typing instructions telling it what to do.

Toolkit for UX

Some stuff I found in the box of UX parts

 

RQ-1 Predator Training Simulator

RQ-1 Predator Training Simulator
Photo: STEMwinder

Spend enough time on websites and you will be confronted with user experiences that range from elegant and intuitive to annoying and baffling. The undergraduate CS major studying the sub-discipline of Human-Computer Interface works on designing systems that effectively bridge the gap between human cognition and the transition rules of the computer. While this is something we deal with daily in using our smartphone apps to pay for pizza or order underwear online, the applications that a CS graduate may work on include flight simulators and cockpit instrumentation, human-robot interaction, and financial transaction analytics. The education of CS majors in user interface design and implementation is becoming more of a data-driven process rather than an exercise in the artistic design of the programmer. To support prototype testing, the User Studies Laboratory at Carnegie Mellon University’s Human-Computer Interaction Institute provides a structured environment using eye-trackers and physiological sensing equipment for students to research UX. The University of Illinois Champaign-Urbana coursework in user interface design and evaluation teaches the CS major how to identify user needs, while identifying and correcting usability problems. These skill sets are very important to the practicing computer scientist, whether developing a better underwear-purchasing app or the control system for a surveillance drone.

Databases are just a bunch of lists aren’t they?

Answering the question, yes. But unlike a stack of papers or a bunch of so-called flat files, the lists in a database are designed to allow rapid and accurate transaction and analytic processing. That’s a fancy way of saying that databases are designed to make it easy to put information in, and to get information back out. Easy is the key word here, and the main point of the undergraduate education is to provide an understanding of the structure of databases, the relationship and indexing of data within them, and the differences between on line transaction processing (selling underwear) and on line analytics processing (researching your underwear sales). A trending term for the practicing professional is Data Scientist; according to IBM, this is a computer scientist who has focused on modeling, statistics, and math to understand data and use it to solve problems. At present, most of the degrees in Data Science are at the graduate level, and a student who wants to pursue this field should start with a CS undergraduate degree and use the elective tracks to select courses which are focused on the development and analysis of databases.