Jump to content

Would it be worth it to take an intro level class for a different language?

Remixt

Hey guys, computer science student here.

 

So right now I'm taking the last of my mid tier classes at a school that I recently transferred to. I'm struggling big time because they use C and C++ exclusively here, so they expect you to have been using those two languages since the beginning. I've tried watching videos and forcing myself to learn C++, but it's just impossible to know everything I need to know by self teaching. With that being said I was thinking about taking the intro to C++ classes this summer. I feel that may help relay the foundation and help me make it out of this straight C(my grades) streak I'm on. However, I'm starting advance classes next semester, and at this point I'm afraid an intro level class would be a waste of time. I don't want to be stuck in class writing hello world and making a grocery list print out or something. 

 

Do you guys think going to these basic courses will help, or is it just a waste of time/money.

CPU: Ryzen 5950X Ram: Corsair Vengeance 32GB DDR4 3600 CL14 | Graphics: GIGABYTE GAMING OC RTX 3090 |  Mobo: GIGABYTE B550 AORUS MASTER | Storage: SEAGATE FIRECUDA 520 2TB PSU: Be Quiet! Dark Power Pro 12 - 1500W | Monitor: Acer Predator XB271HU & LG C1

 

Link to comment
Share on other sites

Link to post
Share on other sites

34 minutes ago, Remixt said:

Hey guys, computer science student here.

 

So right now I'm taking the last of my mid tier classes at a school that I recently transferred to. I'm struggling big time because they use C and C++ exclusively here, so they expect you to have been using those two languages since the beginning. I've tried watching videos and forcing myself to learn C++, but it's just impossible to know everything I need to know by self teaching. With that being said I was thinking about taking the intro to C++ classes this summer. I feel that may help relay the foundation and help me make it out of this straight C(my grades) streak I'm on. However, I'm starting advance classes next semester, and at this point I'm afraid an intro level class would be a waste of time. I don't want to be stuck in class writing hello world and making a grocery list print out or something. 

 

Do you guys think going to these basic courses will help, or is it just a waste of time/money.

What languages do you know already?

Main Gaming Rig:

Spoiler

Core i7-4770, Cryorig M9i Cooler, ASUS B85M GAMER, 8GB HyperX Fury Red 2x4GB 1866MHz, KFA2 GTX 970 Infin8 Black Edition "4GB", 1TB Seagate SSHD, 256GB Crucial m4 SSD, 60GB Corsair SSD for Kerbal and game servers, Thermaltake Core V21 Case, EVGA SuperNOVA 650W G2.

Secondary PC:

Spoiler

i5-2500k OCed, Raijintek Themis, Intel Z77GA-70K, 8GB HyperX Genesis in grey, GTX 750 Ti, Gamemax Falcon case.

 

Link to comment
Share on other sites

Link to post
Share on other sites

Just now, NinjaJc01 said:

What languages do you know already?

Java and Python

CPU: Ryzen 5950X Ram: Corsair Vengeance 32GB DDR4 3600 CL14 | Graphics: GIGABYTE GAMING OC RTX 3090 |  Mobo: GIGABYTE B550 AORUS MASTER | Storage: SEAGATE FIRECUDA 520 2TB PSU: Be Quiet! Dark Power Pro 12 - 1500W | Monitor: Acer Predator XB271HU & LG C1

 

Link to comment
Share on other sites

Link to post
Share on other sites

1 minute ago, Remixt said:

Java and Python

Java can be quite similar to C, I have heard, so maybe just mess around with something like Processing (Open source and free, great for practice).

Main Gaming Rig:

Spoiler

Core i7-4770, Cryorig M9i Cooler, ASUS B85M GAMER, 8GB HyperX Fury Red 2x4GB 1866MHz, KFA2 GTX 970 Infin8 Black Edition "4GB", 1TB Seagate SSHD, 256GB Crucial m4 SSD, 60GB Corsair SSD for Kerbal and game servers, Thermaltake Core V21 Case, EVGA SuperNOVA 650W G2.

Secondary PC:

Spoiler

i5-2500k OCed, Raijintek Themis, Intel Z77GA-70K, 8GB HyperX Genesis in grey, GTX 750 Ti, Gamemax Falcon case.

 

Link to comment
Share on other sites

Link to post
Share on other sites

Are you having trouble with the language itself or the things you're supposed to be doing?

i5 4670k @ 4.2GHz (Coolermaster Hyper 212 Evo); ASrock Z87 EXTREME4; 8GB Kingston HyperX Beast DDR3 RAM @ 2133MHz; Asus DirectCU GTX 560; Super Flower Golden King 550 Platinum PSU;1TB Seagate Barracuda;Corsair 200r case. 

Link to comment
Share on other sites

Link to post
Share on other sites

If you can get into C++ and really understand the language, it will help you go far as most software companies and Game Development companies look for C++.

 

I would recommend taking the classes if you really have an interest!

Link to comment
Share on other sites

Link to post
Share on other sites

2 hours ago, Remixt said:

Do you guys think going to these basic courses will help, or is it just a waste of time/money.

It's hard to say if the intro course will help you or not as none of us have done it. I assume it starts right at the beginning, teaching you data types, conditionals, loops, classes, etc. I expect you're already past needing to review that kind of thing but only you know for sure. It might give you some useful practice through it's assignments, but it may also be all below your level. It's hard to know. You'd probably get more out of retaking the mid-level course your struggling with now instead of taking the intro course.

 

Have you been getting help from anyone? The professor usually has office hours that you can go to for extra help. If your class has teaching assistants, then they may also have office hours you can go to. Does your school provide a CS help center that you've been going to? Have you asked anyone in your class to help you? Have you considered getting a private tutor?

2 hours ago, Remixt said:

I've tried watching videos and forcing myself to learn C++, but it's just impossible to know everything I need to know by self teaching. With that being said I was thinking about taking the intro to C++ classes this summer.

It could be that you don't know what to focus on. You don't need to know everything about C++ yet. You just need to learn enough so that the advanced C++ class you're taking will be manageable. So only focus on what you're having trouble with in your current course.

 

If you have trouble completing the assignments, then I'd guess you just need to get in more practice doing that kind of thing. Perhaps you should start going to some of the many challenge sites out there and work on some projects.

Link to comment
Share on other sites

Link to post
Share on other sites

5 hours ago, Nineshadow said:

Are you having trouble with the language itself or the things you're supposed to be doing?

The things I'm assigned to do I don't understand. They are somewhat complex algorithm implementations without using the STL and stuff

CPU: Ryzen 5950X Ram: Corsair Vengeance 32GB DDR4 3600 CL14 | Graphics: GIGABYTE GAMING OC RTX 3090 |  Mobo: GIGABYTE B550 AORUS MASTER | Storage: SEAGATE FIRECUDA 520 2TB PSU: Be Quiet! Dark Power Pro 12 - 1500W | Monitor: Acer Predator XB271HU & LG C1

 

Link to comment
Share on other sites

Link to post
Share on other sites

5 hours ago, Remixt said:

The things I'm assigned to do I don't understand. They are somewhat complex algorithm implementations without using the STL and stuff

So are you having trouble with algorithmic or just the implementation in C++?

i5 4670k @ 4.2GHz (Coolermaster Hyper 212 Evo); ASrock Z87 EXTREME4; 8GB Kingston HyperX Beast DDR3 RAM @ 2133MHz; Asus DirectCU GTX 560; Super Flower Golden King 550 Platinum PSU;1TB Seagate Barracuda;Corsair 200r case. 

Link to comment
Share on other sites

Link to post
Share on other sites

Do you have some examples of the advanced stuff? C++ is essentially Java/C# with less built in "fancy" features, pointers and '->' everywhere, once you grasp that all you're left with is typical small language differences like switch statement fall-through rules etc.

And regarding STL and STL-like code. learn to google it well rather than remember everything, although again, without samples, it's kinda hard to give advice.

Link to comment
Share on other sites

Link to post
Share on other sites

7 hours ago, Nineshadow said:

So are you having trouble with algorithmic or just the implementation in C++?

It's both really, this class is supposed to be challenging with knowledge of c++. I can't think of how to make solutions because I don't have an inherent knowledge of the language. I disagree that c++ is like java at least syntax wise it's way different. The only thing I've found similar are the simple things like using void to create methods and declaring strings and stuff. Using header files and not being able to run my program just by hitting the play button and make files and headers memory destruction and the lack of string functions. 

CPU: Ryzen 5950X Ram: Corsair Vengeance 32GB DDR4 3600 CL14 | Graphics: GIGABYTE GAMING OC RTX 3090 |  Mobo: GIGABYTE B550 AORUS MASTER | Storage: SEAGATE FIRECUDA 520 2TB PSU: Be Quiet! Dark Power Pro 12 - 1500W | Monitor: Acer Predator XB271HU & LG C1

 

Link to comment
Share on other sites

Link to post
Share on other sites

6 hours ago, LePawel said:

Do you have some examples of the advanced stuff? C++ is essentially Java/C# with less built in "fancy" features, pointers and '->' everywhere, once you grasp that all you're left with is typical small language differences like switch statement fall-through rules etc.

And regarding STL and STL-like code. learn to google it well rather than remember everything, although again, without samples, it's kinda hard to give advice.

https://github.com/Remixt/Traveling-Salesperson-in-CPP?files=1

 

Here is an example of my most recent project for the class. My friend had to walk me through that entire thing. The variable declaration doesn't make any sense to me I have no idea what it means to have an unsigned int even after his explanation. I don't get why you have to use * symbols and why pointers even exist or how they work... blah bLahore. The point is when I look at that code I don't actually understand it, and I've been told that it's pretty simple. 

CPU: Ryzen 5950X Ram: Corsair Vengeance 32GB DDR4 3600 CL14 | Graphics: GIGABYTE GAMING OC RTX 3090 |  Mobo: GIGABYTE B550 AORUS MASTER | Storage: SEAGATE FIRECUDA 520 2TB PSU: Be Quiet! Dark Power Pro 12 - 1500W | Monitor: Acer Predator XB271HU & LG C1

 

Link to comment
Share on other sites

Link to post
Share on other sites

1 hour ago, Remixt said:

https://github.com/Remixt/Traveling-Salesperson-in-CPP?files=1

 

Here is an example of my most recent project for the class. My friend had to walk me through that entire thing. The variable declaration doesn't make any sense to me I have no idea what it means to have an unsigned int even after his explanation. I don't get why you have to use * symbols and why pointers even exist or how they work... blah bLahore. The point is when I look at that code I don't actually understand it, and I've been told that it's pretty simple. 

First of, what kind of school level are you at? univeristy, college, highschool etc?

 

Second it might be that you need some introduction to the language. C and C++ are low level languages where knowledge of how the underlying hardware works will help you a great deal as well. Concepts of Pointers and memory allocation and the like get a lot easier to understand once you have at least a little knowledge of Computer architecture (of course you don't NEED it for the programming but in my engineering degree I feel it has helped clear up a lot).

 

Thirdly, would you be able to implement the algorithms or functionality required for your tasks in your language of choice? You could always try implementing the stuff you are supposed to implement in C++ in Java. That way you'll understand how the programs work and once you do that you'll be able to see past your issues with variable assignments and see the similarities of the languages.

If you are not able to implement the functionality in your language of choice then you should definitely look into getting some more programming and algorithm experience (whichever it is that is required)

 

 

This would be my approach.

Link to comment
Share on other sites

Link to post
Share on other sites

I recommend going through this :

http://www.tutorialspoint.com/cplusplus/

i5 4670k @ 4.2GHz (Coolermaster Hyper 212 Evo); ASrock Z87 EXTREME4; 8GB Kingston HyperX Beast DDR3 RAM @ 2133MHz; Asus DirectCU GTX 560; Super Flower Golden King 550 Platinum PSU;1TB Seagate Barracuda;Corsair 200r case. 

Link to comment
Share on other sites

Link to post
Share on other sites

1 hour ago, Hamosch said:

First of, what kind of school level are you at? univeristy, college, highschool etc?

 

Second it might be that you need some introduction to the language. C and C++ are low level languages where knowledge of how the underlying hardware works will help you a great deal as well. Concepts of Pointers and memory allocation and the like get a lot easier to understand once you have at least a little knowledge of Computer architecture (of course you don't NEED it for the programming but in my engineering degree I feel it has helped clear up a lot).

 

Thirdly, would you be able to implement the algorithms or functionality required for your tasks in your language of choice? You could always try implementing the stuff you are supposed to implement in C++ in Java. That way you'll understand how the programs work and once you do that you'll be able to see past your issues with variable assignments and see the similarities of the languages.

If you are not able to implement the functionality in your language of choice then you should definitely look into getting some more programming and algorithm experience (whichever it is that is required)

 

 

This would be my approach.

Yeah, I could easily write that in Java.

 

I'm a senior in undergraduate college, but I've still got 2 years left to graduate with a degree in computer science. 

CPU: Ryzen 5950X Ram: Corsair Vengeance 32GB DDR4 3600 CL14 | Graphics: GIGABYTE GAMING OC RTX 3090 |  Mobo: GIGABYTE B550 AORUS MASTER | Storage: SEAGATE FIRECUDA 520 2TB PSU: Be Quiet! Dark Power Pro 12 - 1500W | Monitor: Acer Predator XB271HU & LG C1

 

Link to comment
Share on other sites

Link to post
Share on other sites

Just now, madknight3 said:

Have you taken a data structures and algorithms course before or is that what this class is?

This class is the pre-requisite for that class. I'm taking that next semester.

CPU: Ryzen 5950X Ram: Corsair Vengeance 32GB DDR4 3600 CL14 | Graphics: GIGABYTE GAMING OC RTX 3090 |  Mobo: GIGABYTE B550 AORUS MASTER | Storage: SEAGATE FIRECUDA 520 2TB PSU: Be Quiet! Dark Power Pro 12 - 1500W | Monitor: Acer Predator XB271HU & LG C1

 

Link to comment
Share on other sites

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×