The Vital Skills Needed to Become an Engineer: CAD, Programming and Calculus
How does one become an engineer? It is a question poised by many curious minds wondering how to take a step onto the path of engineering. The rite of passage in becoming an engineer must be earned by taking an epic journey of discovery into the intricate fabrication of the world around us. It is not a job of profound glory; it is a duty of constructing and maintaining the stage for humanity to survive by. An engineering job done right goes nearly unnoticed - however, an engineering job gone wrong can and has led to unprecedented damage and unnecessary loss of human life.
Becoming an engineer means assuming on the responsibility of designing the world with features sometimes required to work without flaw, for many years to come. An engineer must be resourceful, forward-thinking, and always willing to learn more. The path of an engineer must begin somewhere, and while it is technically possible to become an engineer without a degree, for most, the path typically begins at University.
The Journey of Becoming an Engineer
Taking the first step into engineering will require choosing the right engineering university and that can be a difficult decision in and of itself. But regardless of university selection, an engineer must come to learn and understand a few basic principles surrounding engineering and engineering design in order to integrate a solution into a real-world application.
The most important things an engineer must know and understand includes having a strong command of Computer Assisted Design (CAD), an ability to program, and having a thorough understanding of Calculus principles. Of course, there is much more skill and knowledge an engineering student must learn before becoming a professional engineer. However, there are a few fundamental skill sets which every engineer should have entering the new world of engineering. To most, having a thorough understanding of CAD, programming, and Calculus will prove invaluable both while attending university and for post-graduate opportunities when the real-world engineering begins.
How to Make CAD Models
An incredible revolution to modern engineering is certainly owed to computer science, specifically, CAD programs. The likes of SolidWorks, Siemens NX, AutoCAD, and more, has made engineering more accessible and manageable than ever. But what exactly is it?
CAD is often mistaken as a single design program when in reality, the process of CAD refers to any use of a computer program which supports the design process.
CAD software can be used to create circuit diagrams, prototypes, and simulations with high precision and at a fraction of the cost and the time it takes to manually design.
There is a range of CAD software programs available to select from, each with their own retrospective pros and cons. Many have a steep learning curve, however, in an engineering society driven by computers, it is more important than ever to learn CAD skills.
Many of the programs are incredibly expensive, but they do not have to be. There are a few programs which are excellent as a learning tool to begin exploring CAD.
Companies like OnShape offer free CAD software to get started on design. The program is limited in functionality and all parts created are publicly accessible, but it is still a great introduction to CAD.
FreeCAD also offers a free CAD 3D modeling program which offers customizability to the program through community-created features which are uploaded for all to use.
Getting Started with CAD
While each program has a unique interface, operations, and abilities, nearly all CAD programs operate based on a few basic principles.
There are plenty of YouTube tutorials offering instructionals on nearly every platform, however, this will serve as a brief overview to become familiarized with CAD software.
Sometimes, the most off-putting step can simply be getting a shape started. The programs are not so simple as to drag and drop shapes right after the program opens. The programs have to be set up correctly and instructed as to what is going to be created whether it be a sketch, assembly, or engineering drawing.
Typically, a sketch is a 2D drawing of a shape which can be extruded into three dimensions. An assembly is where multiple parts can be assembled and simulated together. Drawings are simply orthographic intended for manufacturing and construction.
The most important thing to consider when CADing is to always ensure the design is as simple and practical as possible. The ease of CAD makes it all too easy to overcomplicate design which may not be practical to build in the real world. The angles of how parts connect, and what materials can be used to make a final product, as well as how much waste will be created are all important factors which are often overdone to the point of impracticality.
Keep designs simple, delete lines that are not necessary as well as try and get as much detail into a sketch as possible. It is much easier and efficient to draw an accurate sketch before creating a 3D object. 2D planes have less detail and are less easily confused, as well as editing a sketch instead of an object will prevent most unwanted errors from occurring. Editing a 3D object can modify surfaces in undesirable ways, as well as can quickly overcomplicate designs. However, sketching onto 3D objects is sometimes the only option.
YouTube is one of the best places to find information on how to CAD just about anything with virtually any program. There are other forums as well, sometimes hosted by the program developers. Reddit also has tons of useful insight to read up on with an accompanying massive user base to assist if you have a question.
In the modern age of engineering, nearly every engineering student should expect to have minimum one programming intensive course. It should also be expected that other courses, especially in later years, will incorporate programming in some manner. Often times, an introduction to programming for engineers is a common course many engineers will take in first year.
Most preliminary engineering takes place on a computer, and while there are tons of programs (like CAD software) to help with design, sometimes the needs of pioneering research and development cannot be met with standard programs.
Engineers must modify or create entirely new platforms to record, sort, and analyze data. Even without the need of creating a new program or heavy modification, programming will nearly certainly be required to run complex mathematical operations on various platforms such as Capstone, MatLab, or even Microsoft Excel.
Having a basic understanding of how most programs operate and how to program basic programs is nearly essential for every studying engineer.
The Basics of Programming
Like CAD software, there are many programming languages to pick and choose from, and again, each hosts its own unique set of rules and abilities.
C++ is however often regarded as one of the purest forms of practical programming. It is an extensive language and can be used to solve extremely complex systems. It is often the choice for game engines, operating systems, or anything that requires precise control of hardware on a PC or server.
The language is very precise and requires thinking in a critical and line-by-line manner. It can be confusing at first, but there are a few basic principles to abide by, and most tips are cross-platform applicable.
Every program begins with a more or less precise definition of what is to be used (or called) in the execution of the program. There is a library of classes and functions which can be used in a program, but for a user to implement any, they must be called at the beginning of the program prompting the computer of what is to be expected when the program executes.
Just like most languages, a computer reads code from left to right. Order is everything - a program will read everything exactly as it is written and it will be unable to determine why a code does not work due to ordering issues.
In the same respect, "grammar" mistakes, or syntax errors will similarly cause the program to not operate correctly or fail altogether. The syntax is the spelling of the program and even the slightest error will almost certainly yield unwanted results. Fortunately, most programming compilers can pick out syntax errors and report them to the user. It is not an excuse to use bad form, though. It will not correct anything, and sifting through every line after writing sloppy code is tedious and annoying.
When programming, take great care in formatting programs and make sure they read logically - you can't push a horse before the carriage!
Follow a logical order and determine what steps must be taken in what order to achieve a final result. Begin a program calling any functions or classes you think will be needed in the program. Then begin to prompt the user with what the program is, what it can do, and how to use it.
Each operation and class of the program must be called, for example, when talking to a computer monitor, the term cout (or computer out) must be called before the information is displayed on a screen. Likewise, if a user is to enter data, the term cin (computer in) is used. There is a lot more syntax to learn, but technically you can nearly make a program with just cout or cin operatives (with all the corresponding syntax, of course).
Then, follow the logic and code it in order to achieve a desired result. But remember, a program will almost certainly not run correctly on the first try. It takes trial and error to sift through the code to find every mistake leading to an error. Also, do not be disheartened when fixing one mistake, and many more show up!
Clearing up one mistake may reveal another, but just because the program claims there are dozens of mistakes, correcting just one part of one line could solve everything.
Also available online are endless tutorials and instructionals teaching users how to code. Expect to take some time to figure out the inner workings of a programming language, they can be extensive and somewhat complicated but learning how the systems operate will certainly be an asset as an engineer.
You can begin learning on CPP shell, a simple C++ compiler free to use.
To those already taking part in an engineering program, and even to those in upper year high school, the information below may very well be nearly trivial. However, it is a topic which is often misunderstood and presented in an overcomplicated fashion. It is important, mostly for those about to begin engineering or entering later year high school, to understand the fundamentals of the core language of engineering:
All too often, Calculus is given a poor reputation. In the purest and most oversimplified sense, Calculus is the study of the rate at which things change and the area (or volume) in which things occupy.
However, understanding the principles of and the difference between differential and integral Calculus is critical in nearly every engineering course. Though it can be daunting at first, Calculus is a beautiful language which can be used to help fundamentally describe nearly every phenomenon on the planet.
Differential vs Integral Calculus
The study of the rate at which things change can be thought of as differential Calculus. It is quite literally, discovering the difference between any two points. Outside of a pure math context, understanding the principal of differential is as easy as understanding how a car travels.
A car which travels from a spot (position 0, at time 0) and which starts driving in a straight line can be modeled similarly to the graph shown below.
It is obvious that after 5 seconds, the car has traveled 50 meters. Divide one by the other, and its speed and direction can be determined, in this case, 10 meters per second.
In effect, calculating the velocity of the car from the chart shown above is differential calculus - finding the rate at which the car changed position over a certain period of time.
This is an overly simplified case, and as many would know, dividing a point on the Y axis (I.E position) by a point on the X axis (time) will not work for nearly every other differential integral. In this instance, the underlying principle of the differential question (how to calculate the velocity) is carried out by means of calculating slope; or in equation form, the very familiar slope equation:
It is an equation used for solving the rate of change on nearly any straight line between nearly every point. However, there are special cases which make it particularly difficult. Specifically, the equation fails when the line goes straight up and down and it also does not work for a single point on the graph, or in other words, finding the instantaneous slope of the line (finding the rate of change at a single point anywhere on a line).
Solving for the slope on a specific point requires a better definition of the slope. Under first principles of calculus, many would come to learn of this definition as First Principles:
It is an interesting formula that can be fun to derive, however, in practical use, it can be used to describe the instantaneous slope of a very specific point on a line. The theory quickly becomes more complex, when it comes to solving rates of changes in equations of higher degrees and in bizarre forms which requires having a repertoire of tricks to substitute and simplify complex equations. Further complicating matters more is when lines start taking on higher dimensions and occasionally imaginary numbers.
The principles of calculus are taught in high school, however, it is important to truly understand the principles - it may help to relearn how to derive the first principles of calculus, even for engineers already in university.
Integral Calculus is subjectively more intuitive than differential Calculus. The study revolves around solving for the area under a line. It like doing a derivative, but in reverse. Simple straight lines can be easily solved using integral calculus if a graph creates a basic shape (like a rectangle, triangle, circle, or otherwise) then solving for the area will yield a correct answer.
In practice, and in reverse of the differential example, integral calculus can also be used to solve the car example.
Above is a chart depicting the same car, but instead of position vs time, the chart instead shows how fast the car is traveling. In this case, it is traveling 10 meters every second.
But suppose you want to find out how far it has traveled in five seconds - then you need to integrate it. Since an integral is just finding the area, and is the reverse of a derivative, then integrating velocity will find the distance traveled.
In the above example, at five seconds, the has traveled five blocks over. It is also 10 units tall (10 meters per second). The area, simply length multiplied by width, is 5 seconds x 10 meters/second = 50 meters.
If you look at the previous chart, you can confirm the car has indeed traveled 50 meters in 5 seconds. The units of the second also conveniently cancel out, leaving the answer in meters.
Again, the example is oversimplified and will only work with basic examples, however, the principle remains the same, even for the most complex of integrals - it is merely solving for an area.
Together, integral and differential Calculus will appear time and time again in almost every engineering course. Understanding the fundamentals will be key in finding any success as an engineer.
There is a lot to consider when attempting to become an engineer. But there are ways to increase your odds of finding success, or the passion to engineer your way to success. Clubs, like robotics clubs and teams, are an excellent way to gain practical experience while having the opportunity to be surrounded by people who will be able to answer or direct questions about what you need to do to become an engineer.
It begins with a curious mind and ends with an engineer. The path is yours to choose.