IT/Software career thread: Invert binary trees for dollars.

Hachima

Molten Core Raider
884
638
I would say CS3704 would be a good marketable skill the pick up and it is required for your CS4704 selection, so there is a gap in your planning. Since you indicate you have to finish CS 3114 I don't think you could have taken CS3704 already. It will be a good foundation for being a Software Engineer instead of a Software Developer. A good company is going to value knowing how to tackle a real world project more vs being able to do a small school project/assignment and being told what to code. And HUGE key green light is 'Significant software project required.' for CS4704

CS3774 would be questionably marketable depending on what jobs you plan on applying for. If it is applicable, you should be looking at a math double major or at least a math minor. Otherwise, I would drop this for the required pre-req you are missing.

CS4604 sounds like a good choice.

CS4284 is questionable unless you don't plan on going into software development. I'd rather see a focused candidate than one that has dabbled in everything with a lot not being applicable to the role. And would be borderline material to be dropped from a resume depending on what you are applying for.

I would recommend CS4984 Cloud Software Development instead. It involves more applicable project work you can put on a resume and it involves database programming/web programming/cloud so those are all going to be good keyword hits on experience.

2nd would be CS3714: Mobile Software Development. It is starting be be more niche in marketability,and a lot of jobs will be for short term projects that don't have long term job security. But it is still something that can show experience in learning different technologies. 3rd CS3724: Introduction to Human-Computer Interaction for times when developers are tasked to take on the design role.

I'm making assumptions on what your job goals are, but for a Software Engineer role those are my recommendations.
 

Budos

Golden Knight of the Realm
592
10
After I posted I realized I missed the prereq for 4704. The reason I was looking at the GUI class is the focus on callbacks, event listeners, etc. Nirgon suggested it would be useful to me in a software engineer role, which is what I'm leaning towards. The CS degree at VT is through their school of engineering as well (had to take some basic Engi. courses). Would you suggest just doing the Software Engi. courses + cloud instead?

I was considering the Cloud software class since clouds are the big thing now for business software. Mobile applications are something I wanted to avoid if possible, I've been making some as projects already in some of my classes.

Math minor is already on the schedule since I only need one extra math course to get it and I was looking at cryptography to fill that slot (only because it seems interesting). I don't want to spend the time with a double major, I want to jam this degree out ASAP (I'm 30).

*edit: I also didn't notice that 4704 is acapstone, so the Networking course would be dropped in place of Software Engineering.
The revised list would be:
3704 - Intermediate Software Design and Engineering(prereq for 4704)
4604 - Introduction to Data Base Management Systems
4704 - Software Engineering(capstone)
4984 - Cloud Software Development
 

Vinen

God is dead
2,783
490
Besides a good GPA and 5 or 6 CS courses, what are some things I can do now that will increase my chances of landing a decent internship for this coming summer.

I will have knocked out the freshman and sophomore level CS classes and be familiar with Java, C, and C++. I know I should probably just focus on maintaining a 4.0 but I feel I need to do more in order to get ahead. I am 29 (will be 30) by the time summer rolls around so I definitely need to up up my game. My resume isn't bad, I served 6 years in the US Army as a medic and I have civilian management/retail experience. I was looking into getting certified through Oracle but it looks costly especially if you order the study material. Also there are so many certifications it's kind of confusing and that is just looking at Oracles stuff, not MS or all the other programming/developing certifications floating around. Also which language do you think I should specialize in more. I know you can apply most CS concept to any language as long as you know the syntax but just in general, what are people looking for?

Also if any of you are looking for a motivated intern that is looking to gain experience and not just an adventure away from home, let me know. I'd prefer to intern for software development (specifically game programming and/or design) however I am not opposed to doing something else programming related.
Most internships could care less as long as you maintain a 3.0 or higher. 4.0 means jack shit to me. I've seen too many 4.0's who are utterly useless. (Including graduates of top tier schools).

The biggest thing you can do is start applying now.
 

Eidal

Molten Core Raider
2,001
213
A decade ago I trashed my GPA; the two four year colleges to which I applied said, essentially "get fucked". Now, I'm attending a junior college on the GI Bill. I have yet to take a single CS course. My plan is to knock out the general ed at the JC while I repair my GPA. I'd expect to transfer into a four year next year.

That being said, I saw a ton of encouragement in this thread towards finding an internship. I just got a notice from the Student Veteran's Association that there is a meeting on Wednesday about internships available. One of the speakers coming is from the local nuke facility, and their flier says that "Computer Sciences" is one of the disciplines available through their internship program.

http://www.savannahrivernuclearsolut...rns_intern.pdf

Is it possible for me to gain any meaningful internship experience with zero background in actual Comp Sci? Would this nuke facility actually accept me as an intern? I am completely willing to take an unpaid internship; the money is irrelevant compared to having a functional resume come graduation. Icanclaim five years of honorable service in Military Intelligence (along with combat decorations and some other medals), but I don't know how much a hiring manager is going to give a shit about that if I haven't actually worked in my field.

Any advice?
 

Noodleface

A Mod Real Quick
37,961
14,508
Question about you trashing your GPA. Did you go to a university and blow it or did you blow it during highschool?

If during university, most colleges have an application for re-admittance in which you're essentially applying to come back where you left off. I went to JC after dropping out of university with a bad GPA (0.67) and they let me back in after getting a 4.0 at the JC and seeing I had improved.

The reason I ask is because essentially your GPA from JC won't transfer with you when you go to a new college.
 

Eidal

Molten Core Raider
2,001
213
Question about you trashing your GPA. Did you go to a university and blow it or did you blow it during highschool?

If during university, most colleges have an application for re-admittance in which you're essentially applying to come back where you left off. I went to JC after dropping out of university with a bad GPA (0.67) and they let me back in after getting a 4.0 at the JC and seeing I had improved.

The reason I ask is because essentially your GPA from JC won't transfer with you when you go to a new college.
I trashed my GPA to 1.7 when I was 18 at a JC in California. I'm out here in Georgia now and I had too many credits from the Cali JC to qualify as a freshman -- I had to apply under Transfer student rules. Which meant that they looked at my transcript, and said fuck off. I appealed, too, and wrote a quick essay about how I'm 29 now, an honorably-discharged veteran, was responsible for troops as a Sergeant, etc etc. Was somewhat shocking; I expected to have no issues entering a 4-year college out given the South's reported love for the troops. Oh well -- I'm not actually losing any time by grinding out some general ed at a JC level.

It looks like I'm doing the same thing you're doing, though. Repairing GPA at JC. I'll look to switch to a 4 year once I run out of general ed.
 
349
1
Been awhile since I posted in this thread. I got a 4.0 last semester but I was only taking one CS class, statistics, and some electives. This semester is going to be rough. Right now I am taking 4 classes with 4 labs. I am taking OOP, Machine Code and Organization, Data Structures, and Discrete Math. I am considering dropping one so that I can concentrate on getting A's on the other 3 but we will see. I think I am most worried about Data Structures but thankfully it is in Java so at least I am more familiar with the language. There are some things I am not familiar with such as having a function pass an Object from the object class as its parameter. Not sure if that makes sense but basically our first assignment is to design a Book class with about 10 different methods. One the methods is supposed to be a copy constructor (something I'm not familiar with) but instead of the parameter being an object from a book class its from an object class. I assume I can cast this object into a book but it is still a weird concept. Anyways I am sure I will figure it out but that class definitely hit the ground running.

(10pts) One copy constructor that uses the given paramter obj to set the current object's instance variables.
Please be very careful with String copy and array copy.
The precondition is that obj should not be null and should be an instance of Book.

something like: public Book (Object obj)

I guess what I am confused about is why would you be passing an object from the object class in the first place? I don't see the purpose of this. I hope it's not too obvious because then I will feel like an idiot.
 

Cad

scientia potentia est
<Bronze Donator>
24,498
45,439
Been awhile since I posted in this thread. I got a 4.0 last semester but I was only taking one CS class, statistics, and some electives. This semester is going to be rough. Right now I am taking 4 classes with 4 labs. I am taking OOP, Machine Code and Organization, Data Structures, and Discrete Math. I am considering dropping one so that I can concentrate on getting A's on the other 3 but we will see. I think I am most worried about Data Structures but thankfully it is in Java so at least I am more familiar with the language. There are some things I am not familiar with such as having a function pass an Object from the object class as its parameter. Not sure if that makes sense but basically our first assignment is to design a Book class with about 10 different methods. One the methods is supposed to be a copy constructor (something I'm not familiar with) but instead of the parameter being an object from a book class its from an object class. I assume I can cast this object into a book but it is still a weird concept. Anyways I am sure I will figure it out but that class definitely hit the ground running.

(10pts) One copy constructor that uses the given paramter obj to set the current object's instance variables.
Please be very careful with String copy and array copy.
The precondition is that obj should not be null and should be an instance of Book.

something like: public Book (Object obj)

I guess what I am confused about is why would you be passing an object from the object class in the first place? I don't see the purpose of this. I hope it's not too obvious because then I will feel like an idiot.
Usually I would use Object as the parameter in cases where that function has to handle multiple types of objects as inputs. Then you would do something like if (obj instanceof Book) { do book copy} else if (obj instanceof movie) { do movie copy}; but I don't know if that makes sense as a book method where you're expecting books. Just check to make sure it's a Book object, do your book copy, if it's not a Book that gets passed throw an Exception and call it good.
 

Tenks

Bronze Knight of the Realm
14,163
606
I assume it means you're taking in a certain type? Like:

Or like the above said you'd have to do shit like:

I suppose it is trying to teach casting and teaching instanceof but in the real world you wouldn't make a generic Object copy constructor if you just immediately check if it's a book
 
349
1
I assume it means you're taking in a certain type? Like:

Or like the above said you'd have to do shit like:

I suppose it is trying to teach casting and teaching instanceof but in the real world you wouldn't make a generic Object copy constructor if you just immediately check if it's a book
Wow that makes a lot more sense than what I was doing lol. Didn't know about instanceof. I was casting the object as a Book and trying to check if each variable was valid. THANK YOU! Also sorry my post was scrambled. I meant to go back and edit it but right after I posted it my school closed down due to snow so I had to pack up and leave. I am at home now, just picked up the kid so I will be messing around with snowmen for a bit then back to coding.

I am surprised instanceof wasn't covered in my previous java class. It is nowhere in the book either. Cloning wasn't covered either so I will look into it.

I just hope my machine code class is good. The first lab we were given a Aurdino board and told to run a program on it. Basically we just followed instuctions blindly and made the board blink. It really didn't explain anything so I am not sure what the lesson was other than following instructions and making sure we could upload a program onto the board. We shall see.
 

Tenks

Bronze Knight of the Realm
14,163
606
Yeah it isn't used very frequently and if you have it littered around your code it is generally a sign you have some design problems with your code
 

Tuco

I got Tuco'd!
<Gold Donor>
45,487
73,575
Been awhile since I posted in this thread. I got a 4.0 last semester but I was only taking one CS class, statistics, and some electives. This semester is going to be rough. Right now I am taking 4 classes with 4 labs. I am taking OOP, Machine Code and Organization, Data Structures, and Discrete Math. I am considering dropping one so that I can concentrate on getting A's on the other 3 but we will see. I think I am most worried about Data Structures but thankfully it is in Java so at least I am more familiar with the language. There are some things I am not familiar with such as having a function pass an Object from the object class as its parameter. Not sure if that makes sense but basically our first assignment is to design a Book class with about 10 different methods. One the methods is supposed to be a copy constructor (something I'm not familiar with) but instead of the parameter being an object from a book class its from an object class. I assume I can cast this object into a book but it is still a weird concept. Anyways I am sure I will figure it out but that class definitely hit the ground running.

(10pts) One copy constructor that uses the given paramter obj to set the current object's instance variables.
Please be very careful with String copy and array copy.
The precondition is that obj should not be null and should be an instance of Book.

something like: public Book (Object obj)

I guess what I am confused about is why would you be passing an object from the object class in the first place? I don't see the purpose of this. I hope it's not too obvious because then I will feel like an idiot.
Those four classes are no joke, and touch on probably the four biggest parts of core computer science. If you're balancing your time between a job/family/gaming career/partying it'll be challenging for an average student to get As in those classes.

As for copy constructors, I think Tenks covered it. Don't forget the:
this.myString = book.myString.clone();

part. I don't know exactly how java does it but in C++ copying classes with arrays/strings/pointers is a careful process, especially when that pointer is to another fully formed class with its own pointers. Sometimes being forced to make a copy constructor at a high-level class requires making a copy constructor for a handful of child classes.
 

Tenks

Bronze Knight of the Realm
14,163
606
I *think* if you just did this.myString = that.myString then if you change one object's string it would be changed in the other object's as well. Java is sometimes very weird in this behavior. I assume that is why the instructor called it out specifically. Same deal with the array. If you did this.myArray = that.myArray it would modify in both. You'd need to be like this.myArray = Arrays.copy(that.myArray).
 

Cad

scientia potentia est
<Bronze Donator>
24,498
45,439
I *think* if you just did this.myString = that.myString then if you change one object's string it would be changed in the other object's as well. Java is sometimes very weird in this behavior. I assume that is why the instructor called it out specifically. Same deal with the array. If you did this.myArray = that.myArray it would modify in both. You'd need to be like this.myArray = Arrays.copy(that.myArray).
Strings are immutable once set and java doesn't deal in references and pointers that way. When you do this = that it just does a copy.

But Strings are special because they are immutable.

Even with integers it doesn't work the way you say because Java goes out of its way to avoid pointer confusion.

e.g.

result:

Tenks sucks dicks
2

It does work that way with Collections though:

Result:
3
4
5
 

Tuco

I got Tuco'd!
<Gold Donor>
45,487
73,575
So what's the difference between
this.myString = book.myString;

and

this.myString = book.myString.clone();

where myString is a String?
 

Tenks

Bronze Knight of the Realm
14,163
606
It appears I was incorrect and String doesn't implement clone
I could have sworn when doing some Swing apps for my internship I ran into some weirdness where changing the string in one spot changed it in the other as well but I can't seem to reproduce it in any fashion