I chose a data science undergrad degree in the best-ranked business university in Peru (where I live). I've always been very interested in math and in programming so I thought I made a great decision.

After studying this degree for one year and a half, I feel that I've made a very bad mistake; not because I realized I don't really like math and programming. I still like them and have achieved good scores in related courses. The problem is that I feel that the degree doesn't has enough Math/Programming/C.S-related courses in order to be a well-prepared data-scientist. I say this because I've compared study plans of data science undergrad degrees from universities in the US and other universities in Peru with the study plan from my university (in Spanish) and, although both include non-major related courses, I think that mine has much more to a point that it's counterproductive. Here are a few examples:

  • I only have 3 pure statistics courses in my study plan. Only one of them uses statistical programming languages. One is basic statistics in which half of the topics covered are already taught in school (at least in Peru).
  • In my study plan there are two introductory courses to programming that teach exactly the same thing (what is a variable, if, while loops, arrays, how to import .csv files, how to make graphs, etc.) and the only difference is the programming language (R and Python). It feels like a great waste of time.
  • Some mandatory courses that I find really irrelevant: 2 accounting courses, 2 economic courses, strategic marketing, human capital management, finance fundamentals, strategy (from the business administration college so it's not related), etc.
  • All of the above don't include the social science/personal development/humanities courses that are 6 in total (Some of them are Theology, Philosophy, etc.)

Since this is a 5 year program (I'm only 1 year and a half in), maybe it's to soon to say that my study plan lacks of enough courses. I've been thinking of some solutions:

  1. Learn the things I don't learn in university on my own. But, I don't have any certificate for that knowledge.
  2. Do nothing about it and just hope I'm wrong.
  3. Complete this data science degree and then do MSc/PhD in a related field (Statistics/Mathematics for example) to ensure that I will have a well paying job.

Underemployment is very huge problem here in Peru so I don't want to end in that situation.

  • 16
    What is the actual question? Commented Apr 25 at 10:41
  • 18
    "mandatory courses I find really irrelevant: 2 accounting courses, 2 economic courses, strategic marketing, human capital management, finance fundamentals, strategy" um, what exactly kind of data do you think data scientists get paid to analyze? What kind of decisions is that analysis expected to inform? I was really with you on this question...right up until I read that bit. Commented Apr 25 at 15:18
  • 5
    Sounds like the problem is you are in a business school and what you want to be in is a school more focused on math, science, computation, etc. The business, accounting, and economics knowledge will serve you well, especially if you get an industry job. But I agree that you'd benefit from a note rigorous program focusing on the technical details since that seems to be what your are interested in.
    – jdods
    Commented Apr 25 at 15:27
  • Ultimately, the purpose of a bachelors degree is to teach you how to learn. Once you get to graduate school you will continue to learn predominantly on your own (your advisor should be your primary collaborator).
    – tnknepp
    Commented Apr 25 at 19:04
  • 2
    Just want to reiterate @JaredSmith 's comment: as someone with OP's ideal job, I'd say these courses are just as critical, if not moreso, than the programming courses. You can learn new code languages on the job, but if you can't follow the motivation behind the work and communicate, you might not even land the job, get into the important meetings, etc. And I just want to plug those humanities courses too: you're going to be working with people the rest of your life, and you don't realize now how those can help you think differently and build relationships with people from other backgrounds.
    – Sam
    Commented Apr 25 at 21:16

5 Answers 5


It sounds to me like you are enrolled in a program which emphasizes a classical liberal education. The program is intended to provide you a well-rounded education, which gives you more skills than an automaton who has only studied statistics and programming. Congratulations. This looks like an entirely reasonable course of study to me, similar to many data science programs that I have seen in American universities.

To give some further context, I am going to once again cite Matt Might's fantastic image:

enter image description here

In the classical Western tradition, a bachelors degree is not intended to make you an expert. It is intended to give you a broad foundation of knowledge and skills, with some specialization into a particular field or topic. After completing a bachelors degree, you should have a little bit of knowledge about a lot of different things, some specialized knowledge, and a set of skills which should enable you to learn new things more easily.

That being said, you are also just completing your first year. This often involves taking a significant number of "general education" courses, which are designed to ensure that you leave the program as a more well-rounded person. It looks to me like you will be taking more specialized courses later on (after Cycle IV, if I understand the program map correctly).

Having explained what I think a bachelors education is, let me also outline a couple of things that a bachelors degree is not:

  1. A bachelors degree is not job training. Generally speaking, if your goal after a bachelors degree is employment outside of academia, the degree demonstrates that you are teachable. Most employers will not expect a person with a bachelors degree to know everything they need to know in order to do a job—some amount of on-the-job training will be expected (indeed, many employers would rather that you don't have too much specialization, because then there are fewer bad habits that they have to train you out of).

  2. A bachelors degree is not a graduate degree. In the process of completing a graduate degree, you are likely to be pushing at the fringes of what is known. You may or may not be required to expand human knowledge (that is generally the difference between a masters and a phd), but you are expected to at least walk right up to the line. A bachelors degree, in general, is not nearly that specialized. You should be walking along well-trod paths (mostly).

  • 2
    I agree with this. My spouse works at a FAANG company as a software engineer and has a degree in Economics. He spent 15 years building skills in data science before it was all the rage. He got his current job by doing LeetCode ad nauseum. At some point the theory is great, but if you don't spend time practicing it, it doesn't mean anything beyond an academic understanding. To your point, he says many of the younger generation do feel like bots instead of people. He's the "old man" in his 30s, but his education was more well-rounded, and he has charisma and social skills, which matter. Commented Apr 25 at 1:20
  • 3
    @XanderHenderson Thanks for the answer! I realized I had a wrong understanding about what a bachelors degree is
    – gnzlama
    Commented Apr 25 at 1:22
  • 3
    @yourfriendlyresearchadmin At my current institution, which is a community college (about half of our student enrollment is in "vocational" programs like welding and cosmotology), we require all of our associates degree seeking students to complete a set of general education requirements (English, math, social sciences, etc). This is not entirely the norm among community colleges. However, the feedback that we get from our community partners is that our students show up to work with unexpected skills. Commented Apr 25 at 14:51
  • As one of our English faculty likes to say, "The degree gets you a job. The 'soft' skills and knowledge gained through the general education requirements are what get you promoted." Commented Apr 25 at 14:52
  • @yourfriendlyresearchadmin I don't mean to undermine your spouse for his hard work, but leetcode is not a well-regarded website. It is generally seen as a grind that's required to pass an arbitrary test that some companies do during interviews. I've done my fair share of leet code challenges, I can count the number of times I actually needed the knowledge I got from leet code on one hand. The majority of the content is so far removed from what actual software development is like, it might as well be useless.
    – ChellCPlus
    Commented Apr 25 at 15:49

Your program looks quite standard to me, compared to (say) US program. In a continental European program you would be taking far fewer "general education" classes, which reflects a fundamental difference in what secondary and tertiary education is supposed to encompass between the two systems.

Re only three statistics courses: it has long been a particular annoyance to me that data scientists do not know enough statistics and in particular do not have enough visceral understanding of randomness. Unfortunately, a rather narrow grounding in statistics is one of the hallmarks of most data science courses. So your statistics ingredient seems par for the course to me.

I agree that the programming courses (not computer science; but in data science, you need programming skills and not CS knowledge) seem rather thin. On the one hand, a data scientist should really understand a little more than "what is a variable" (but then again, they presumably also need to teach people who have never coded before, so they need to start at the very beginning)... and on the other hand, it looks strange to learn R and Python, but not SQL. Then again, there are thousands of online courses or bootcamps where you can pick up most of what you need, and in the course of your career, you will need to learn additional languages at some point, anyway.

Regarding those courses you find "irrelevant"... I could hardly disagree more. One could quibble with the precise courses you list here, but accounting is absolutely fundamental knowledge for a data scientist who wants to work in industry. The better data scientists stand out by understanding the business and economic impacts of their analyses and recommendations! Far too many data scientists believe their job is done when they have improved prediction accuracy by 5%, and perhaps written up a requirements document for the software developers to turn their ideas into production code... but the important decision then is whether these 5% are actually worth putting into production, and for that you need a solid grounding in business and accounting, and in the language that the business people use. Data science is not an end in itself.

In the end, data science - like many other fields - requires you to stay self-motivated and go above and beyond what you learn in school or at university. If you find you already know what your courses are teaching you, great! That gives you free time to delve more deeply into aspects where your courses only touch the surface. Read statistics books, learn more programming languages, or do Kaggle competitions in your free time, and do internships to see how data science is actually applied "out there".

  • 2
    Bachelor's programs in the UK are also often much more highly specialised than in the US (as our high school is also more specialised). I think it's worth bearing in mind with the programming courses, that this is just the first of 5 years. Commented Apr 25 at 9:07
  • 4
    I can only agree with "data scientists do not know enough statistics". Even in academia there are often three separate communities: (1) statistics, (2) decision support/operations research, and (3) data science/machine learning. Communication between these three communities is surprisingly rare.
    – Stef
    Commented Apr 25 at 9:19
  • Sounds to me like data science is not science.
    – gerrit
    Commented Apr 26 at 6:46
  • 1
    @gerrit: I would consider it a mixture between science, engineering and art, just like forecasting, with more engineering and less art. The statistics parts are definitely science. The domain knowledge is engineering, often with a side of business/economics. Commented Apr 26 at 7:07
  • Incidentally, I would appreciate it if any downvoters left a short comment indicating what they found "not useful" here... I would love to learn, and the OP would profit from understanding just where people disagree with me. Commented Apr 26 at 7:08

Sounds like you think your current Bachelor's program lacks rigor.

I'd suggest two things:

  • First, check what data science jobs in Peru require. Go to your local jobs portal and search for job advertisements for data scientists. Here's an example. Then see if you learn all the things you need for the job in your current program.
  • Second, talk to someone at your institution. If there's someone at your institution who coordinates the program, or advises students on which courses to take, they would be the natural candidate. They can likely advise you on why the courses are the way they are, or accelerate you (waiving some courses), or otherwise find you challenging stuff to think about. One possibility you've not mentioned is that you might be able to transfer to another program. If your current institution cannot provide you the rigor you want, then this is a possibility, and your coordinator might be able to help.

Definitely don't do nothing and just hope you're wrong (solution "#2" in the question). It's better to worry about these things now, before you graduate and then find you can't find a high-paying job.

  • Thanks for the answer! Regarding the first suggestion, after spending the last hour inquiring about DS jobs in Peru, I can say I feel much more calm about my future because they ask for things that are, in someway, in my study plan.
    – gnzlama
    Commented Apr 25 at 4:31
  • Regarding the second suggestion, there is no one that suggest students which courses take in my university (at least not that I know) since there aren´t too much electives as there are in american universities and the one who coordinates the program is the dean (Not sure if it´s worth sending him an email arraging a meeting just for that and very sure he´s going to say no to me if I ask him to meet). A transfer is definitely not an option since I don´t want to study things that I´m not interested in, I´ve already experienced that in school and it was like a nightmare.
    – gnzlama
    Commented Apr 25 at 4:35
  • @gnzlama by "transfer", I mean transfer to another institution. As for the coordinator, it's very likely someone at your institution knows more. Someone has to put together the list of courses that data science students needs to take, someone has to teach those courses, and they would know. It's just a matter of finding out who they are.
    – Allure
    Commented Apr 25 at 7:43

I largely agree with the other answers, but want to give a bit more context. Because data science is a new field, there is some disagreement about how it should be taught. I co-authored a paper, Curriculum Guidelines for Undergraduate Programs in Data Science, that has been cited almost 300 times. We lay out the following curriculum (the order is basically what we do at Denison University, where I teach):

  1. Intro to Data Science I, where you learn how to manipulate data in R, visualize data, make confidence intervals, do null hypothesis significance tests, fit and use regression models, etc.

  2. Mathematical Foundations I, which is a data-science themed calculus course focusing on applications.

  3. Algorithms and Software Foundations = intro computer science, with a focus on real-world problem-solving. We use Python.

  4. Mathematical Foundations II, with some multivariable calculus and some linear algebra. Ideally enough to understand principal component analysis. To squeeze all the math of the major into two courses, it's not possible to cover everything, and again applications are emphasized.

  5. Introduction to Statistical Models. This teaches many statistical models, bootstraping, lots of statistical tests, any probability theory that is needed, etc. The full list of topics is in the linked paper above. This course includes a deep dive into R.

  6. Data Curation—Databases and Data Management. This is basically "all the computer science (after intro) that you need to do data science." It covers tidy data, SQL, hierarchical data, data wrangling, web scraping, and APIs. I also co-authored a book, Introduction to Data Systems, that goes with this course. We use Python.

  7. Another Data Science course, ideally a statistical consulting practicum where students put their skills to use on a problem provided by one of our industry partners.

8-10. Three courses in a cognate discipline, like economics, biology, physics, chemistry, sociology, business, health, etc. The reason for this is the Data Science Venn Diagram where you need math/stats, CS, and also disciplinary specific knowledge.

  1. Statistical and Machine Learning.

  2. Capstone where students do a full analysis on a data set of their choosing, based on all they have learned.

At Denison, our Data Analytics major is one of the largest on campus. Even though only nine courses are required, our students go on to great jobs. Because the field of data science continues to evolve, the expectation, coming out of any program, is that students will need to teach themselves some things; no curriculum can cover everything you will ever need to know. For example, sometimes we teach students Tableau in (6) above, but sometimes there's not enough time. Students can pick up Tableau on their own if they need to. Same for most tools.

Some other universities have a data science program that looks like CS + Stats + some math, all in one. It can be too many courses. We prefer to take a "big tent" approach to data science, where we invite lots of students in, teach them as much as we can, but don't set up barriers to people choosing this major. The OP wrote:

The problem is that I feel that the degree doesn't has enough Math/Programming/C.S-related courses in order to be a well-prepared data-scientist.

Based on the program of study the OP describes, upon graduating, the OP will have even more courses than our students (e.g., three in stats). Whenever an employer looks at a transcript, they don't know what precisely was covered in the course. If you find some of the courses easy, you are welcome to delve deeper into the material and do some self-driven projects and host them on GitHub. Our students often do 2-3 projects. That helps them get a job. It's a way of showing employers that the student really has mastered what's needed to be a working data scientist. There are many projects in the book I linked to above. Again, remember that there is no standard curriculum, so a lack of coursework can easily be compensated for via other evidence of mastery.

Lastly, the OP wrote:

All of the above don't include the social science/personal development/humanities courses that are 6 in total (Some of them are Theology, Philosophy, etc.)

Don't sell these courses short: ethics matter! Data science consists of a set of very powerful tools that can be used to carry out convincing analyses that can have real-world impacts. It's entirely appropriate to get students thinking about ethics as part of that! In the curricular guidelines, we discuss the importance of ethics. At Denison, we infuse ethical discussions throughout all the courses. If all goes well and you become a data scientist, you will likely find yourself facing thorny ethical questions at some point in your career, and you'll be happy that you took the time to think through related questions as a student.


I disagree with the other answers.

Data Science is the child of three overlapping disciplines:

  1. Mathematics (Statistics)
  2. Computer Science
  3. The field the data in "Data Science" is coming from

It appears to me, that "Data Science" majors often focus on the latter two subjects (i.e. how you stir the data and how you implement the algorithms) and only do surface level courses into the mathematics which make them work.

If you actually want to develop the algorithms used in Data Science, you need a heavy focus on 1/2 and need to talk to people from the applied fields for inspiration. I.e. you want to be a toolmaker not a tool user.

If that is the case, you need to study maths (which typically also teaches you programming) and focus on probability and statistics when selecting courses. Mathematics is typically a thing which is required a build up from the bottom and higher level mathematics always requires lower level mathematics. You can't talk about the convergence of random variables, if you were never introduced to the concept of convergence (i.e. you need analysis before you can do probability theory). And multidimensional derivatives are linear maps, which will require some linear algebra. This is why mathematics bachelors typically require you to take Analysis I & II and Linear Algebra I & II before giving you freedom to choose courses afterwards (at least that is how it works in Germany)

Since mathematics builds on top of itself, this makes switching to it from a different subject very difficult. So I would not recommend switching to it at a MSc or PhD level. Don't buy into the sunk cost fallacy and continue something which does not get you where you want to be.

  • 1
    (1) I am a mathematician by training, and pretend to be a statistician. While the fields are closely related, on an applied level statistics is IMO quite different from math. (2) Few data scientists will ever develop the algorithms they use. Most will use algorithms others have developed. I agree that (a lot of) statistics is necessary for that, and that math is useful (and some math, like linear algebra, calculus and probability is indispensable). Commented Apr 26 at 16:06
  • @StephanKolassa that is why I make the distinction between applying data science and developing data science. Yes, if you just want to apply it you don't need the math. But it feels to me like OP actually wants to contribute to the development so I wanted to add this perspective.
    – Felix B.
    Commented Apr 26 at 19:10
  • And "some math, like linear algebra, calculus and probability is indispensable" is almost filling up a maths bachelor. I mean first and second semester are linear algebra and calculus, then you might have probability and numerical analysis (which you probably want too) in third semester and then statistics and more advanced probability theory in fourth semester (together with courses from a data science/compsci minor). At this point only the fith semester is left and in the last semester you write a thesis which could be in an applied field such as data science.
    – Felix B.
    Commented Apr 26 at 19:15
  • Functional analysis would also be useful to develop a deep understanding of kernel methods (as the reproducing kernel hilbertspaces are, well... hilbertspaces), and other universal approximation theory. You might want to have taken a course in optimization too. Dynamical systems (differential equations) establishes a view of gradient descent as a gradient flow. And at that point you could also do stochastic differential equations, etc. So you can easily fill up a maths bachelor just picking subjects useful to get a deeper understanding of data science.
    – Felix B.
    Commented Apr 26 at 19:20

Not the answer you're looking for? Browse other questions tagged .