1. Not finding help here? Sign up for a free 30min tutor trial with Chegg Tutors
    Dismiss Notice
Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Want to major in computer science, but dont like programming

  1. Feb 28, 2015 #1
    Hello all. I am at an impasse with what I want to do with the rest of my life. Academics wise, I have always had an interest in maths and science and history. There is no greater feeling in the world than solving a problem you have been stuck on for hours. I was researching potential degree programs in the summer before college started and computer science caught my eye. I was intrigued by the concepts of algorithms and data structures as well as artificial intelligence and cryptography. "This is the degree for me," I thought. I started searching and learned about programming and how you can learn it on your own. I got a Python beginners book and started. I was really interested and generally enjoyed the whole framework of it. It was like understand logic and learning a new language at the same time. Unfortunately, I couldn't continue as much as I would be starting college in the next week. I was taking an intro to java class in the spring semester and thought that I would enjoy it as much as I did learning Python.

    Fast forward and we are almost in march. I dislike the programming class I am in currently. The class only meets one day a week for 2 hours. In these two hours, the instructor talks about a bunch of stuff(most of the time I cant focus enough to listen) and then we leave. We are given an assignment to do every week. On the assignments I have gotten, I have mainly gotten C's and like one B. If we are stuck, we have to go online and research to find the answer. What frustrates me the most is the fact that I usually make my program work, but he grades me down because it needs more documentation. Sometimes I cant finish my program because I don't know how to put in the necessary methods or concept for my program to work efficiently even after spending hours trying to find the answer to this problem.

    If this is how future computer science class are going to be, I would rather not take part in such a program. This type of situation never happened with my math or science classes. I am in differential equations and Calculus based Physics. I want to succeed, but wont put in hours of wasted effort just to get C's in future classes because I cant find the answer to a problem I've spent hours looking for on the internet and in the book.

    Sorry for the long rant. Basically, what I am asking, is this how computer science is supposed to be taught and understood? I thought that more effort would be made to understanding concepts and such.
     
  2. jcsd
  3. Feb 28, 2015 #2

    jedishrfu

    Staff: Mentor

    Many introductory courses are designed to screen out applicants for Computer Science. Your Java class sounds like such a course. My feeling is its always good to major in CS and to have a strong minor in business or science so you have something to apply your programming to.
     
  4. Feb 28, 2015 #3
    Just a small comment regarding documentation: documentation is important, very important, particularly when you work with extensive/complicated projects and/or with many other people in a team. One of the most frustrating things I find as a programmer, is looking through old programming code (including my own) which was not documented for some reason. When this is the case, it is so much harder and takes so much more time to debug it or alter/rewrite it; you may have to decode it in your brain, before you understand how the code works... :eek:

    Tgo5PL3.jpg
     
  5. Feb 28, 2015 #4

    SteamKing

    User Avatar
    Staff Emeritus
    Science Advisor
    Homework Helper

    How do you think things are going to be in the real world?

    You're going to be given assignments to complete or projects to work on. You may have nothing more to start with than an outline of various objectives to attain. You're going to need to develop skills and knowledge to help you to do research to accomplish your goals. There may not be anyone to whom you can turn to find the answers. Unlike textbooks, the real world doesn't have the answers in the back or a solutions manual you can read.

    You've got to learn to do these things on your own, otherwise you'll be stuck, unable to move forward in your career.
     
  6. Feb 28, 2015 #5

    symbolipoint

    User Avatar
    Homework Helper
    Education Advisor
    Gold Member

    roinujo1 explains:
    Fair is to study as long and as hard as you can in order to learn, without regard to what grade you earn.
    Not fair is to need to search on your own ONLINE to find answers to your difficulties. This is the job of the professor, the teacher, and maybe a tutor; at least these professionals should direct you through asking you leading questions to push you with some interaction for you to think your way through to some understanding.
     
  7. Mar 1, 2015 #6

    Stephen Tashi

    User Avatar
    Science Advisor

    See what computer languages the future courses emphasize. You should be able to find out.

    There is a big difference between languages like Java that are designed to facilitate large teams of people working on a project and programming languages that are less bureaucratic. If you see your future courses will emphasize Java, "design patterns" and abstraction not to your taste then switch your major to mathematics or engineering.
     
  8. Mar 1, 2015 #7

    symbolipoint

    User Avatar
    Homework Helper
    Education Advisor
    Gold Member

    Something is missing in that comment. Also fair is students in a course's class can discuss difficulties with an assignment or concept with each other in an effort for gaining understanding. Searching in other sources (like the internet) is another alternative to finding answers and help.
     
  9. Mar 1, 2015 #8
    If they don't teach you best coding practices and only talk to class for 2 hours, then that's really bad. So props to them to at least doing that.
    Learning good practices is more important than making your code do what it is supposed to do and learning this is to be the case is essential as well.

    Not every CS major is going to be an application developer/software engineer. But all computers are is code being run. So you do have some questions to answer.

    I wonder if you would have disliked all this just as much if you had gotten A's. Same goes for other subjects. It is going to be just as frustrating if you are getting C's in a physics major.

    Can't tell what your problem is. Their education setup. Your frustration with underperforming. Your interest for the subject.

    From my experience with coding, it is all about searching online, reading documentation, teachers often don't know about the latest development or all the in's and out's of a certain API.
    Traditionally this is a bad teaching practice, but in programming, this is how you move forward because this is how it is going to be.
     
  10. Mar 1, 2015 #9
    First off, this is true for almost any STEM class. If I cant understand how to figure out the problem, I go to the book and read to see if I am missing something. If that doesn't work, I go online to find videos or websites with an explanation of the topic. Usually, this is enough because the teacher has taught me a basic understanding of the concept that I can do the easy questions reasonably well. My problem with the programming is that basically this is not true. I dont have an understanding of the basics because I dont even understand how my program works or doesn't work. When I spend most of my time looking up the explanation of a concept and how it works and what have you, its through the internet. learning the basics, through the book/internet. If this is how its going to be, why do we need to have a teacher at all when I can learn this by myself? If I am leaving the class more confused than when I entered, I don't believe it is my fault in my learning. I wish he would spend more time building programs and explaining each part of it as we go. That would make much more sense.
     
  11. Mar 1, 2015 #10

    SteamKing

    User Avatar
    Staff Emeritus
    Science Advisor
    Homework Helper

    Is this true for all programs or just some of them? How about the simple program which writes "Hello, world." to the display?

    Are you having trouble understanding the commands in a programming language?

    Are you having trouble understanding the logical structure of a program, why the statements are ordered in a certain sequence?

    There are a lot of programmers, hobbyist and professional, who are self taught. Even if one is furnished with the ideal programming class, there are some aspects of programming and software development which can only be acquired by experience and practice writing programs.

    Class time is a finite quantity. Your instructor may not have the luxury of explaining every concept to the extent he or she may like. The best the instructor can do in the class time allotted is to discuss some of the major topics in a broad fashion and let the student uncover the details thru completing programming exercises.
     
Know someone interested in this topic? Share this thread via Reddit, Google+, Twitter, or Facebook




Similar Discussions: Want to major in computer science, but dont like programming
Loading...