<p>I'm currently in my 4th semester of college in a CS degree and I'm getting to my core classes. The thing is, I understand every concept thoroughly, I do good on tests, but when it comes to writing the actual program I can't put it all together. I really don't want to change my major after 2 years, should I just stick it out? I might be able to get my degree like this but I'm worried I won't learn the material fully. Thanks!</p>
<p>Well, do you like the material? Can you see yourself doing this as a career? If not, then you really should consider changing. Perhaps mathematics?</p>
<p>Isn’t that was flow charts are for? You visually draw out each process to make it easier to code. I think you need to draw/write your programs out before you do the actually coding. I think that should help you. </p>
<p>Think of it as a puzzle you buy. You know in the box there are going to be set number of pieces and each one helps to create an image. If you can build a puzzle from many small pieces than you can build a program with all actions that need to be executed. </p>
<p>You should check these out:
[10</a> Puzzle Websites to Sharpen Your Programming Skills](<a href=“http://sixrevisions.com/resources/10-puzzle-websites-to-sharpen-your-programming-skills/]10”>10 Puzzle Websites to Sharpen Your Programming Skills - WebFX)</p>
<p>Can you give some specific examples of assignments? Also what classes have you taken so far?</p>
<p>
</p>
<p>It would have to be pure mathematics if the OP changes. If it is applied or computational mathematics, some of those questions are the same…“Write a program, yadda, yadda”. CS-focused math courses like combinatorics, graph theory, numerical linear algebra, optimization (some) and cryptology will ask very similar “write a program” type questions.</p>
<p>Thanks for the link.</p>
<p>Applied math does not necessarily require a lot of courses with computer programming… it depends on the field of application.</p>
<p>On the other hand, computer software is one of the better paid types of jobs that math majors are able to get into (other types of better paid jobs include finance and actuarial type jobs).</p>
<p>@ucbalumnus
If I want to pursue a career in software engineering should I major in math or computer science.?</p>
<p>Sent from my HTC One X using CC</p>
<p>Computer science is much more directly applicable.</p>
<p>Would you say a degree in computer science is better than a computer engineering degree for software engineering.?</p>
<p>Sent from my HTC One X using CC</p>
<p>With a CS degree, you WILL take the following:</p>
<p>Object-Oriented Programming I
Object-Oriented Programming II
Discrete Mathematical Structures
Computer Organization
Algorithms & Data Structures
Organization of Programming Languages
Operating Systems Theory
Database Systems (suggested elective)
Computer Networks (suggested elective)</p>
<p>…all which gives you the needed foundation for entry-level software positions.</p>
<p>An Applied Math degree will only require the first 3 courses (not enough for most software jobs) and the rest of the CS courses will need to be taken as electives…which may need constant approval from your school’s CS department.</p>
<p>A Computational Math degree will probably require the first 5 courses (good for some jobs but not enough for a good chunk of software jobs) and the rest of the CS courses will need to be taken as electives…which may need constant approval from your school’s CS department.</p>
<p>As for software engineering degrees. I am a long time software engineer and I am not too high on that degree (personal opinion). Software engineering is merely a process methodology which can be learned on the job at your employer…since many employers have their own “spin” on the software engineering methodology. It would be better to major in CS or any other technical major that allows you to take the above courses.</p>
<p>Note: If you are a non-CS major (ex: Math or Physics or EE/CompE), you can get away without taking Organization of Programming Languages. I would not recommend it but if there was a course that you could get by without…it can be that one but THAT IS IT!</p>
<p>At schools with a distinction between computer science and computer engineering, computer engineering is typically more hardware oriented, with more courses in computer architecture and perhaps some EE courses in integrated circuits, semiconductors, etc…</p>
<p>hey Globaltraveler, would a minor in computer science be sufficient in getting a software engineering job or at least qualify me for a MS program in CS?</p>
<p>
</p>
<p>Depending on the needed software skillset, a minor in CS can be enough for some entry-level software engineering positions. As for grad school in CS, most schools will still ask for the core of Algorithms, Data Structures, Theory of Programming Languages and Operating Systems. Even if the graduate school gives you provisional admission without one of those courses, they will have you take that course before fully admitting you.</p>
<p>I agree with csmathstudent. My formal education is in molecular biology and business administration. But I’ve worked as a developer of bioinformatics software and also worked as a software developer for an aerospace and game software company. I’m about 90% self-taught in the computer field.</p>
<p>The one thing I did consistently was to create some kind of visual aid that outlined the logic of what I wanted to do BEFORE coding. It can be a standard flowchart or a non-traditional flowchart/pseudocode of your own creation, as long as you understand it. Think of the output you want and the input required. Then think of the process that needs to be done to get “that” output from “that” input…and put it all in a visual form.</p>
<p>Once you have the logic figured out, the coding should be relatively easy.</p>
<p>Good luck.</p>