Want to major in computer science, but dont like programming

In summary, In summary, roinujo1 is unhappy with the current state of computer science instruction and is considering withdrawing from future classes.
  • #1
roinujo1
41
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 can't 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 can't 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 won't put in hours of wasted effort just to get C's in future classes because I can't 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.
 
  • Like
Likes tuxscholar
Physics news on Phys.org
  • #2
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.
 
  • Like
Likes symbolipoint
  • #3
roinujo1 said:
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.
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
 
  • #4
roinujo1 said:
We are given an assignment to do every week. ... If we are stuck, we have to go online and research to find the answer.

If this is how future computer science class are going to be, I would rather not take part in such a program.

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.
 
  • #5
roinujo1 explains:
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 won't put in hours of wasted effort just to get C's in future classes because I can't find the answer to a problem I've spent hours looking for on the internet and in the book.

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.
 
  • #6
roinujo1 said:
If this is how future computer science class are going to be, I would rather not take part in such a program.

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.
 
  • #7
symbolipoint said:
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.

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.
 
  • #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.
 
  • #9
SteamKing said:
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.

First off, this is true for almost any STEM class. If I can't 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 don't have an understanding of the basics because I don't 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.
 
  • #10
roinujo1 said:
I don't have an understanding of the basics because I don't even understand how my program works or doesn't work.
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?

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?

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.

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.

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.
 

Related to Want to major in computer science, but dont like programming

1. What exactly is computer science?

Computer science is the study of computers and computational systems, including their principles, their hardware and software designs, their applications, and their impact on society. It is a broad field that encompasses a range of topics, from theoretical concepts to practical applications.

2. Is programming the only career option for computer science majors?

No, there are many career options for computer science majors that do not involve programming. Some examples include data analysis, information security, project management, and user experience design. While programming is an important skill in computer science, it is not the only skill that is valued in the industry.

3. Can I still be successful in computer science if I don't enjoy programming?

Yes, you can still be successful in computer science even if you don't enjoy programming. While programming is a fundamental aspect of computer science, there are many other areas within the field that you can specialize in, such as artificial intelligence, human-computer interaction, or computer graphics. It is important to find an area that interests you and utilize your strengths in order to be successful.

4. How can I determine if computer science is the right major for me?

The best way to determine if computer science is the right major for you is to explore the subject more deeply and gain hands-on experience. Take introductory courses, attend workshops or coding bootcamps, and intern or shadow professionals in the field. This will give you a better understanding of the subject and help you decide if it is the right fit for your interests and skills.

5. Is computer science a difficult major if I don't like programming?

Computer science can be a challenging major, but it is not necessarily more difficult if you don't enjoy programming. It is important to have a strong foundation in math and problem-solving skills, as well as a curiosity and passion for technology. If you are willing to put in the time and effort to learn, you can be successful in computer science regardless of your feelings towards programming.

Similar threads

  • STEM Academic Advising
Replies
3
Views
843
  • STEM Academic Advising
Replies
6
Views
1K
  • STEM Academic Advising
Replies
4
Views
193
Replies
3
Views
205
  • STEM Academic Advising
Replies
3
Views
498
  • STEM Academic Advising
Replies
16
Views
2K
  • STEM Academic Advising
Replies
12
Views
1K
  • STEM Academic Advising
Replies
6
Views
1K
Replies
6
Views
962
  • STEM Academic Advising
Replies
23
Views
3K
Back
Top