<p>Other than HTML, CSS, and very limited C++, I really know virtually know nothing pertaining to software engineering (SE).</p>
<p>What I don't know for in programming, I do have covered up to Calc II and Physics on a proficient level. (The struggle during my freshman year really won't be those Liberal Arts / Math / Science, but the "core" courses for the major itself).</p>
<p>Since I'll be at RIT in 12 weeks, I'd like to crash course myself on anything that can prepare me for what I will see during my first year. Any books or materials that you could recommend would be amazing. Thank you in advance.</p>
<p>I’m majoring in Software Engineering, but I do have to take Computer Science I, II, and III during my Freshman year. In fact, I’m fairly certain that the first year of CS and SE are nearly identical tracks.</p>
<p>Software Engineering is a structured METHODOLOGY to produce software. It consists of the following approach (pretty much adapted from systems engineering).</p>
<p>A full-functioning software deliverable may have C++ components, Java components, operating system components, network software components and database components.</p>
<p>A software engineer is someone who is involved somewhere in those 6 steps I mentioned doing one or more of those steps and/or using one of the components I mentioned.</p>
<p>Therefore take your CS or I.T. or SoftE program with your intended interests and wherever the employer places you, that will be your job.</p>
<p>Besides, “software engineer” is just a title. You could easily be called “software developer”, “object-oriented developer”, “systems admin”, “network admin”, “network engineer”, “data architect”, “database developer” and “DBA” still be considered a software engineer in some capacity.</p>
<p>With all do respect, GLOBALTRAVELER, I’ve seen a fraction of a fraction of my opportunities out there. I am not even 18 years old; I don’t know what skills future employers will want 5 years down the road and I unfortunately do not know where my interests lie. “Software developer” and “network engineer” may best describe where I think my interests may be. I am nowhere near positive, though. But I do appreciate you’re point on how it’s only a title and what you really do are two very different things.</p>
<p>Remember, the job listings that you may see are just a sample of what is out there. Not every employer post their openings for the world to see. Also some headhunter/recruiting businesses are “privi” to the openings that certain companies have available.</p>
<p>I know the following topic has been discussed, but between CS, I.T. and SoftE…I would choose CS and let the chips fall after that.</p>
<p>If you’re just worried about your first year, focus on programming. Find out what language your school will be using and read a book on it. For Dummies books are usually pretty easy to follow (and there are a bunch of knock-off brands). I’m not trying to be demeaning… if you want a quick dirty intro, no place better. Unless your program uses something exotic like Scheme or Fortran, I’d make sure I thought about OOP and tried to understand the ideas. Try to write some code, too.</p>
<p>If you’re worried about overall success in the program, start reading up a subject called “discrete math”. Generally texts on the subject will cover logic, proofs, induction, basic probability, enumeration, trees, graphs, algorithms, and the like. Basically things about math that don’t really have a lot to do with calculus.</p>
<p>Realistically you could do both over the summer. There should be free material online; just google things like:</p>
<p>“C++” introduction OR introductory OR beginning OR basic OR foundation OR fundamental filetype: pdf</p>
<p>“discrete math” OR “discrete mathematics” introduction OR introductory OR beginning OR basic OR foundation OR fundamental filetype: pdf</p>
<p>I’d recommend digital copies of books but ebooks and lecture notes / note sets can be good too. Oh, and don’t forget MIT OCW. Just go there and navigate to EECS and there should be a few decent courses to be had.</p>
<p>EDIT: ignore the spaces after filetype: They wanted to make it an emoticon.</p>