Take the 2-minute tour ×
Electrical Engineering Stack Exchange is a question and answer site for electronics and electrical engineering professionals, students, and enthusiasts. It's 100% free, no registration required.

I am studying Electronics Engineering. I only took two 3 programming courses. The first 2 are in c++ and I learnt up till pointers, classes and the basics of data structures. The third is mips Assembly language. I need to know if learning more about data structures, Algorithms and discrete mathematics will help me in the field of Electronics Engineering. I will not have the chance to study these topics in my university, so if they are important I can self study them.

share|improve this question

closed as primarily opinion-based by Scott Seidman, Nick Alexeev, placeholder, Leon Heller, Matt Young Aug 22 '13 at 21:41

Many good questions generate some degree of opinion based on expert experience, but answers to this question will tend to be almost entirely based on opinions, rather than facts, references, or specific expertise. If this question can be reworded to fit the rules in the help center, please edit the question.

1  
C / Assembler is probably useful to give an appreciation of how CPU's are working at a low level, these days you don't get much electronics that doesn't have some software element to it so I would not assume that you'll never touch software again... –  John U Aug 22 '13 at 17:22
2  
When I read the question title, I didn't think this was going to be a constructive question. After reading the question, however, I think it is probably a good one. I'm going to edit the title to try and give it a more on-topic feel. –  JYelton Aug 22 '13 at 17:27
    
Not a concept in programming, but since you mentioned discrete mathematics: If I had it to do over, I would have studied more Calculus prior to college. –  Tut Aug 22 '13 at 17:30
    
Def recommend Data Structures & C++ (Object-Oriented Programming), in addition to the essential C / Assembly. If you're going to skip discrete structures (Which isn't pure calculus) go over graph theory. –  Tom Iancovici Aug 22 '13 at 17:55
1  
Electrical engineering is a huge field. There is no good answer to this question. I can't think of a programming concept that won't be useful to some extent. –  Scott Seidman Aug 22 '13 at 18:05

2 Answers 2

I am not a expert but the following concepts have been useful for me in several ocassions:

Queues (For processing big data quantities without miss any information, logging systems, manage multiple process).

State machines, like said JYelton.

Object oriented programming (Help to reuse code and allow expand the functionality easily, many APIs use this programming paradigm).

share|improve this answer

Here are some suggestions (with Wikipedia links) from my own experience doing both programming and hobby-level electronics engineering:

  • Assembly code (frequently encountered in microcontrollers)
  • State machines (a programming pattern aka finite state machine (FSM) which can be used in designing logic circuits as well as higher level applications)
  • Bitwise operations (working with bits is equally useful in programming and electronics)
  • Truth tables and boolean algebra Useful for arranging logic gates in electronics as well as working with multiple booleans in code.
share|improve this answer

Not the answer you're looking for? Browse other questions tagged or ask your own question.