My presentation on the importance of practical work and how to get started. This was done for a career awareness program at B M S College of Engineering.
1. Practical Engineering
I hear and I forget. I see and I remember. I do and I
understand. - Confucius
Ashwith Jerome Rego
ashwith@ieee.org
http://ashwith.wordpress.com
2. What is it?
• College lab experiments - not the way you're
doing it now.
• Smaller experiments - because the labs
cannot cover everything.
• Projects - That's why you're here today.
• Exploring beyond the syllabus
• Teaching is the best way to learn
3. Why should you care?
• Improves your Résumé (That's what everyone really
cares about isn't it? ;-))
• Get a feel of how R&D works.
• What did Confucius say again?
• Strengthens understanding - Interviews will be a piece
of cake!
• Bragging rights! :-)
• Syllabus becomes more interesting.
• Marks aren't everything. Projects really show what you
know.
• That's how things get discovered or invented
• The most important reason - It's fun!
4. What's important?
• Know the theory first - know it well.
• Try to create something small from what
you've just learned.
• Build up from here.
• DO NOT COPY! Work hard, struggle, design
it yourself. It feels great in the end!
• Share what you create. Teaching is the best
way to learn.
• Keep it Simple. Have Fun.
5.
6. The Fun part: Projects
• Do your homework. Study the required material. Do a
thorough literature survey.
• Plan a schedule (with your mentor). Set deadlines and
stick to them.
• Document your work from the beginning.
• Work hard. "Pick a formula and substitute" doesn't
always work. Get your hands dirty. That's how we had
fun as kids :-)
• Be independent. If you don't get it right do everything
you can to figure it out yourself. Your mentor should be
your last resort.
• Regular updates - Keep your mentor informed.
7. Where do I start?
• If you want to build circuits, learn to solder.
It's easy, takes a few minutes to learn and
only a day or two to master.
• If you're going to code, learn to do it right.
• Your college lab. Don't complain. It's much
better than you think.
• Simulation tools.
• Cheap boards and equipment.
• Contests, tech fests.
• Workshops.
8. Basic Equipment
• Multimeter x 2
• Soldering Iron
• Breadboards
• General Purpose PCBs
• Basic components: assorted resistors,
capacitors, op-amps, transistors, wires (or
any analog starter kit), sensors, motors.
• Batteries: 12V, 9V, 5V.
10. More Equipment
• Power supply
• Soldering station
• Oscilloscope
11. Embedded Systems
• Platforms: 8051, Arduino (or any other Atmel platform),
MSP430, PIC.
• Software: Keil evaluation edition, Arduino IDE, CCS
Studio limited edition, GCC.
• First learn to read from various sensors as well as
control actuators such as motors, LCD displays and
simple display LEDs.
• Start with simple projects which directly use these
sensors. Thermometers, light detectors and motion
sensors.
• Move to the next level: Robots, manufacturing plant
controllers (remember what you've learned in Control
systems).
13. Analog Design
• Be thorough with the theory first. Analog
circuits, signals and systems, controls
systems are important subjects.
• Simulation tools:
o gEDA: http://www.gpleda.org/
o Online Tools: https://www.circuitlab.com/
• Design on paper. Verify with simulation.
Then go ahead and build.
15. Digital Design
• Platforms: Discrete ICs, PLDs, FPGAs.
• Pick either Verilog or VHDL.
• Design + Verification. Very few know the
latter.
• Understand the entire workflow - from
architecture specification to synthesis.
• Automation using Scripts. Perl, Shell
Scripting.
• OVM, UVM and SystemVerilog, SystemC.
17. Software
• Get familiar with any *nix environment. Then slowly
become an expert.
• Concentrate more on how to design and think about a
program. Languages are secondary.
• Learn to write fast efficient programs (Algorithm
design/selection). Not everyone has a fast multi-core
CPU with a lot of RAM.
• Coding style and standards compliance is important.
• Raspberry Pi: http://www.raspberrypi.org/
Gertboard
• Android/iOS/Windows Mobile/Java.
19. Free Resources
• Fedora Electronic Lab (GNU/Linux)
• Scilab, Octave
• Maxima, Sagemath
• Libraries: LAPACK, OpenCV, NumPy, SciPy
• Online Courses
o edX: https://www.edx.org/
o Coursera: https://www.coursera.org/
o Udacity: http://www.udacity.com/
• Use the right books!
• Use the right software!
20. Sharing is caring
• Blogs and websites:
o Ashwith http://ashwith.wordpress.com/
o Flip flop http://msuraj.wordpress.com/
o Infinity Redefined
http://msharmavikram.wordpress.com/
• Workshops
• Online Forums
• Remember: Teaching is the best way to
learn! (I won't repeat that again :-))
• Résumé boost.
21. Rewind...
• Always start small.
• Understand why things work.
• Plan thoroughly. Break everything into manageable bits.
• Be patient. Projects are hard and it takes time. That's how
the industry is as well.
• Learn because you want to and you like it.
• If it's not fun it's not worth it. Find out what really is your
passion.
• Share what you learn.
• Open-hardware, Free and Open Source Software (FOSS).
• Protecting your work - licenses.
• Learning never stops after college!