Well, I once again enrolled myself in a weeder course

  • Courses
  • Thread starter flyingpig
  • Start date
  • Tags
    Course
In summary, the conversation revolves around the difficulty of a computer science course and the pressure to learn multiple programming languages. The person is struggling with Java and is considering switching to Python. They are also concerned about the impact this may have on their future career in mathematics or physics. The conversation ends with advice to seek help and not let others discourage them.
  • #1
flyingpig
2,579
1
Computer Science for beginners, or so I thought...

I used to (at least for a month) to be competent in the subject, then the midterm came and I shook my head as I read the numbers on my score. To "encourage" us, the professor told us the average for this course is usually 60% (I got 55%...) and has the highest drop-out rate in any other course.

The course focuses mainly on JAVA and the book we use is JAVA software solutions (6e) foundations of program designs (LEWIS & LOFTUS)

Now I really tried reading it, I got through the first few chapters fine, but as it progresses, it was nearly unreadable. Like I feel like I actually have to be a computer to understand all the jargons and random diagrams they put in the book.

Now i browse around the forum for a while and I realize at least two programming languages must be mastered if I want to ever become a mathematican or physicist.

What should I do? My upperclassmen tell me if I can't even get through this, then I should consider changing majors and they did tell me the course is hard.

Thank you for reading.
 
Physics news on Phys.org
  • #2
Note: the following is based on my personal view, EE graduate and currently science grad student, not of a computer scientist.

Frankly, I liked programming, but I never liked the computer programming courses,, found them annoying.

There is no need to "master" any programming languages, basically you only need to be familiar with the basics, since the non basic topics would tend to be forgotten with little use throughout your study, what matters to learn is the skill of how get the code done, real world programmers do make use of the internet and references.

My own impression over the exams (for 2 courses) in my university that I had was, one really needed to be doing a lot of programming, such that you can locate the compiler errors when given an incorrect code on paper or when asked to correct the code. I find this ridiculous, I'm just human and not a freaking compiler, or better pragmatically put, I have no interest in learning in such a way.
Back then, it was a C based lecture, and we followed the book by Deitel & Deitel, their books are highly recommended for beginners (they cover c, c++, java, etc...), without the book, our course would have been hopeless.

I would suggest talking to the professor if this helps, and even better if you talk to the exercise supervisor/tutor (whom typically had till recently an undergrad student experience).
 
  • #3
I can't talk to the professor because he is actually a TA. The original lecturer left and won't return until next term.

My friend told me to switch to Pythron and see how it goes, he said to use a book from Oreily, but the book has no exercises, so I don't know how I can learn.
 
  • #4
flyingpig said:
Now i browse around the forum for a while and I realize at least two programming languages must be mastered if I want to ever become a mathematican or physicist.

Who said that? In any case, it isn't true. I work with quite a few physicists and mathematicians that aren't 'fluent' in any programming languages, and most people that do some sort of programming I would only say can consider themselves competent in a single language. My guide is that competency in a language can roughly be thought of as minimum 18 months full time use.

flyingpig said:
What should I do? My upperclassmen tell me if I can't even get through this, then I should consider changing majors and they did tell me the course is hard.

Don't let a single programming experience ruin your degree. If the rest of your classes are going fine, don't worry about it. Programming can be difficult to get a start on - just keep plugging away, finding extra examples and the most important thing: mess around with any code you're given or asked to write. Add in extra things, take things away. See what happens.

Also, I don't really know any people in my field that use Java, it's really all Matlab (which is what I work with every day) - which I would say is pretty straightforward to learn the basics, and I have a pretty extensive programming background. Obviously this isn't the case for all of physics or mathematics where you have pockets of certain fields using certain languages that do a specific thing very well, but Matlab is in use in some form or another across most of it. That or C++.

If you're really concerned about continuing in physical sciences with a 'lack' of ability in programming, try taking a look at MATLAB if you have spare time and see how you get on. It might give you a little confidence boost.
 
  • #5
I can do LaTeX...
 
  • #6
What should I do?

Well a 5% below average mark would seem to keep one seemingly safe from being 'weeded out', so you're on the right track.

Incomprehensible texts and difficult tests are just a couple things you're going to need to get used to.

If you're really that concerned about the course, then you need to keep on top of it. Go to your prof's office hours. Talk to the TAs about the course. Seek help with anything you don't understand.

And don't let other people scare you.
 
  • #7
My friend told me to switch to Pythron and see how it goes, he said to use a book from Oreily, but the book has no exercises, so I don't know how I can learn.

Seems like a waste of energy. You need to learn Java not Python. However, it is a good idea to learn from multiple sources. Try looking around on the internet, or getting another java text.
 
  • #8
You need to learn Java for your course, but you might never use that particular language in physics. Some people use C, others C++, others MATLAB, others IDL, others Python, some even use Fortran, and many others. You don't need to be 'fluent', you just need to understand the basics. That will get you through most of what you need unless you're doing something very computational.

LaTeX is useful, of course, but it's not a programming language.
 
  • #9
General_Sax said:
Seems like a waste of energy. You need to learn Java not Python. However, it is a good idea to learn from multiple sources. Try looking around on the internet, or getting another java text.

Wait what do you mean? Is it because I am still in the course?
 
  • #10
flyingpig said:
the book has no exercises, so I don't know how I can learn.

When learning programming it is very easy to set yourself your own exercises. Write a program to spit out a list of all prime numbers below 1000. Write a program to factor any integer into primes. Write a program that let's you type in a line of text and then rearranges all the letters randomly and prints out the result. Then make it so that it only rearranges the interior letters of each word so taht you can siltl raed it. Write a small text-based adventure game.

You can carry on from here. Try and write whatever sort of program strikes your fancy. If it turns out to be too hard, try to make a simpler version first.

In programming, the Internet is your friend. It's impossible to keep all the details of the language you're using in your head at once. Google for what you don't know. If you get an incomprehensible compiler error, paste it into the search bar to see what it means.

Learning to program /is/ learning to think like a computer. That's how you translate what's in your head into code. The best way to learn this is practice.
 
  • #11
flyingpig said:
Wait what do you mean? Is it because I am still in the course?

Yes, you're taking a course in Java programming. You need to learn Java.
 
  • #12
General_Sax said:
Yes, you're taking a course in Java programming. You need to learn Java.

Shuold I even continue learning next term? I really rather take a math course than this...I mean at least math is doable
 
  • #13
flyingpig said:
Shuold I even continue learning next term? I really rather take a math course than this...I mean at least math is doable

As in, taking further courses in Java? If you dislike it, then no. Don't just learn it because you think you should: it's not too likely you'll end up in a position (in academia anyway, I know quite a few Java programmers in industry, people that make software for clients type positions) that actually uses Java. With one course you should have a basic handle on an OOM setup. Work on getting the grade for this course, then if you're still worried about programming, take a look at MATLAB or c++.
 
  • #14
flyingpig said:
My friend told me to switch to Pythron and see how it goes, he said to use a book from Oreily, but the book has no exercises, so I don't know how I can learn.

Python is a good language. Java is not hard to learn, I am taking a course at the community college right now, the thing is that to learn a new programming language, I read the test once, then I spend a Saturday or Sunday afternoon rereading the chapter while I type out ALL of the example codes. Then I get a feel for the structure of the language and how you write programs in it. I did this for a C/C++ course a few years ago and even though I don't program in it every day I can still get myself going without any real trouble.

The other thing to realize is that you never really learn a programming language until you start writing in it every day, I thought I knew Fortran after getting an A in the course, I was wrong. When I started writing code for my dissertation research, I was screwed for a month trying to relearn how to code.

The thing to take away from your course is the concepts, in this case, OOP, then you can apply it to another language by just learning the syntax.
 
  • #15
Do you want to major in computer science? Only you can decide what you want to do. As someone said, 5% below the average on a midterm is not a killer. If this is something you really want, stick with it.

I graduated in Chemical Engineering over 20 years ago and I still remember the weed out classes. I barely survived but stuck with it because it was what I really wanted. It makes you a better person and gives you confidence. How bad do you want it?
 
  • #16
Sorry, I made a mistake, a typo, the average was 65% and I am not a computer science major
 
  • #17
flyingpig said:
Computer Science for beginners, or so I thought...

I used to (at least for a month) to be competent in the subject, then the midterm came and I shook my head as I read the numbers on my score. To "encourage" us, the professor told us the average for this course is usually 60% (I got 55%...) and has the highest drop-out rate in any other course.

The course focuses mainly on JAVA and the book we use is JAVA software solutions (6e) foundations of program designs (LEWIS & LOFTUS)

Now I really tried reading it, I got through the first few chapters fine, but as it progresses, it was nearly unreadable. Like I feel like I actually have to be a computer to understand all the jargons and random diagrams they put in the book.

Now i browse around the forum for a while and I realize at least two programming languages must be mastered if I want to ever become a mathematican or physicist.

What should I do? My upperclassmen tell me if I can't even get through this, then I should consider changing majors and they did tell me the course is hard.

Thank you for reading.

Hey flyingpig. What parts exactly are you having trouble with? Although the skills required to develop computer programs aren't exactly like those to solve mathematic and logical problems, the kinds of thinking used in both domains have a large overlap.

Maybe you could say what specific problem you're having so we can give some advice
 
  • #18
Mostly with the technical words the book uses, it's like reading a book written in a foreign language.

I wish each word was more explained in the code. For instance, it took me nearly 6 weeks to understand what each word in "import util.java.Scanner;" meant...
 
  • #19
What are you learning about in this class? I'm taking some introductory programming in Java, as well, and we're using https://www.amazon.com/dp/0321200063/?tag=pfamazon01-20 book. If you take a look at the reviews, people say this is more of an intermediate level book, which is kind of weird, since I find it excellent and superbly paced, and I haven't programmed at all before doing this class. So I'd highly recommend this book, if you're having trouble with stuff, and have time to spare to read through it.
 
Last edited by a moderator:

Related to Well, I once again enrolled myself in a weeder course

1. What is a weeder course?

A weeder course is a challenging course designed to weed out students who are not well-suited for a particular major or field of study. These courses often have high dropout rates and are meant to help students determine if a certain field is the right fit for them.

2. Why did you enroll in a weeder course?

I enrolled in a weeder course because I wanted to challenge myself and see if I was truly interested in the subject. I also wanted to make sure I was well-prepared for the rest of my coursework in that field.

3. What are the benefits of taking a weeder course?

One of the main benefits of taking a weeder course is that it can help you determine if a particular field is the right fit for you. It can also prepare you for the rigor and challenges of future coursework in that field. Additionally, completing a weeder course can demonstrate your dedication and determination to potential employers or graduate schools.

4. Are weeder courses only for science-related fields?

No, weeder courses can be found in a variety of fields, including but not limited to science, engineering, business, and liberal arts. Any field that is highly competitive and has a high demand for skilled professionals may have weeder courses.

5. How can I succeed in a weeder course?

To succeed in a weeder course, it is important to stay organized, manage your time effectively, and seek help when needed. It is also crucial to stay motivated and determined, even when facing challenges. Additionally, actively participating in class and seeking additional resources such as study groups or tutoring can also be beneficial.

Similar threads

  • STEM Academic Advising
Replies
12
Views
1K
  • STEM Academic Advising
Replies
3
Views
1K
Replies
4
Views
1K
  • STEM Academic Advising
Replies
2
Views
1K
Replies
19
Views
3K
  • STEM Academic Advising
Replies
17
Views
2K
  • STEM Academic Advising
Replies
11
Views
1K
Replies
6
Views
3K
  • STEM Academic Advising
Replies
6
Views
4K
  • STEM Academic Advising
Replies
5
Views
1K
Back
Top