Code Newbie: help me figure out my next step
May 10, 2016 6:40 AM   Subscribe

I'm a grownup with no particular aspirations for a tech career. Because I wanted a challenge and some intellectual stimulation, I took an introductory computer science class for non-majors, and I really enjoyed it. Now I want to take another CS-related class. Help me figure out which one to take!

I'm a 42-year-old woman with a student services job at a university, which I enjoy. I'm not really looking for a career change, although I wouldn't be adverse to taking on some new responsibilities. I took this class basically because I wanted a challenge, and I'm feeling a little intellectually un-stimulated. The class is billed as 50% coding and 50% introduction to computers. I didn't particularly love the introduction to computers stuff, although it's vaguely cool that I now understand some things about computers that I used to think worked by magic. But I really, really loved the coding part. I also did really well in it. I got 100% on all the lab exams, and I thought that was because they were easy, but then the TA mentioned that the average grade was about a 50%. My instructor emailed me over the weekend to suggest that I take more CS classes. I want to do that! That sounds like fun! I basically have two options now, and I'm not sure which one to take.

1. I could take the Intro to CS class for Majors. That's a straight-up coding class, without all the "what is the future of AI and why does it matter for you?" stuff. The benefits to this would be that I know I like coding, and I'm pretty confident that I would enjoy it and could handle the work. Students seem to like the professor, who seems like a good guy who is genuinely invested in student success, and the class generally gets pretty good reviews. It's a huge lecture class with a discussion in the computer lab.

2. I could take the introductory informatics class for graduate students. My university has an interdisciplinary informatics program, which I think is primarily focused on bio and health informatics but which is officially open to people in any field, including things like journalism. It offers a certificate that I could do as a non-degree student, as well as a masters and a PhD. This is the intro class for all of them.

Benefits: there's a lot of interest in data analysis in education right now, and I think that having those skills could conceivably (although not definitely) be useful in my career, especially if I went on and got the certificate. The certificate would require a stats class, which I think I might enjoy. If I could somehow convince someone to let me do some data-crunching, it might help with some of what I find a little unsatisfying about my job, which is that I'm not feeling super intellectually stimulated. I think I would enjoy taking a graduate class with other grownups, rather than an introductory class with a lot of 18-year-olds. It's a little more convenient and would cost a little less. It's a small class, not a 250-student behemoth.

Drawbacks: I'm less confident that I could do the work. It's a graduate-level class, and I don't have a strong quantitative background at all. I think I'm perfectly capable of doing math, and I got in the 99th percentile on the logic-puzzle part of the GRE when I took it almost 20 years ago, but the last math class I took was pre-calculus in eleventh grade. I suspect a lot of students would have a stronger coding background than I do. That's also true in the intro class for majors, but I'm more confident of my ability to catch up due to doing things like going to class and doing all the work, which are not a given among undergrads at my institution.

I'm also not as sure that I'm going to like the class. I am not 100% sure that I understand what informatics is, although the course description looks ok ("programming in Python, fundamentals of relational databases, algorithmic idioms, computational complexity, and example applications."). I don't know anything about the professor.

Thoughts? Things I should be thinking about that I'm not? I think I'm going to see if I can make an appointment with the administrator of the informatics program to find out more about it.
posted by ArbitraryAndCapricious to Education (14 answers total) 15 users marked this as a favorite
The real meat and bones of CS are algorithms and data structures. Coding is just a way of practicing and implementing those concepts. Any intro major-track course worth its salt is going to give you a foundation on those topics. So I think that's your best bet if you are interested in the field. It will give you more of a sense of what computer science actually is. The other class sounds interesting but I'm afraid if you don't have a solid understanding of the core concepts you won't get that much out of it.
posted by deathpanels at 7:06 AM on May 10, 2016 [4 favorites]

Go slow and nurture your enjoyment of this stuff. Take the intro to CS class and worry about career applicability later.
posted by ignignokt at 7:20 AM on May 10, 2016 [7 favorites]

I don't know anything about this field but could you have a similar discussion with each instructor to what you're asking here? Or with your teacher of the class you just finished?
posted by latkes at 7:22 AM on May 10, 2016

you sound a lot more confident about (1). at the same time, you don't seem to be in a rush. so why not do (1) first, with an eye on doing (2) in the future? that way it seems you're more likely to enjoy yourself, will get to understand more of the subject, and will build your confidence.
posted by andrewcooke at 7:23 AM on May 10, 2016

If you really want to understand what's going on, it is essential that you understand basic data structures: linear lists, stacks, queues, singly- and multiply- linked lists, trees. When I was in college there was a specific course in CS called "data structures" -- but that was at a cow college 40 years ago.

Surely there must be something similar, though, where you are. Of all the courses I took, I've gotten more use out of that one than any other.
posted by Chocolate Pickle at 7:31 AM on May 10, 2016 [1 favorite]

graduate class with other grownups

I think you would be surprised by (a) how many undergrads take grad classes, and (b) how un-grown-up first year grad students are.

Highly recommend the intro CS class first. The grad class is going to assume a lot of knowledge that you may or may not have; if you're missing concepts during lecture, that's not something that's easy to catch up on with extra work.
posted by supercres at 7:33 AM on May 10, 2016 [3 favorites]

I would actually take a closer look at the informatics class, were I in your shoes. If it doesn't have a ton of pre-requisites and is open to any major, then chances are they're not going to pre-supposed that you have a ton of technical knowledge. It's also an intro class, and would be a good way to see if you're interested in pursuing some kind of informatics/data analysis track in your career. If your long-term goal is to increase your intellectual stimulation at your job, getting some skills that you can apply right away to projects will help more with that than understanding the basics of CS. Also, you could always switch to the CS class or take it later, assuming you can take more classes next semester.
posted by permiechickie at 8:03 AM on May 10, 2016

Best answer: I'll echo those above me: Take the Intro CS class for majors. The graduate-level class sounds sexier, but it seems that programming is what you really like. I'd take a major-track CS class to build some additional skills and really get confirmation that this is something that is "your thing."

I have concerns that the graduate level class will either 1) assume a level of programming/CS knowledge that you don't have or 2) be a fluffy class for people who want an intro to bioinformatics without having to wade through all that icky programming stuff. It doesn't seem like either of those are what you want at this point. If you hear that it's #1, you can always take it after you take more CS classes.
posted by Betelgeuse at 8:07 AM on May 10, 2016 [1 favorite]

Take the Intro to CS class and sit in the front row. You have the advantage of being there because you WANT to be there, which is not always the case for undergrads/18 year olds in college. In my experience, coding is a mixture of math/stats, logic, and language/grammar skills. The Intro class should introduce you to the environment, some of the basic grammars, and some of the logic and best practices. Once you figure out your basic tools, then maybe you'll be comfortable going on to how to use those tools (the graduate class).

Good luck!
posted by jillithd at 8:22 AM on May 10, 2016 [1 favorite]

A general rule of thumb for choosing classes is to look at the textbooks for the class. Do they pique your curiosity and seem reasonable accessible?

Does your university allow you to take an occasional class for free? Or does it allow people to audit classes? Could you just go informally sit in on both of those classes for the first week and then decide?
posted by mareli at 8:31 AM on May 10, 2016

I'd like to echo Betelgeuse and express concern that the graduate level course could be just a taste of this and a sample of that. It's a lot of stuff to cram into a single course, and it's multidisciplinary, never a good sign. I think a lot of universities offer graduate-level certificates and masters programs that are entirely about bringing in money, so these tend to be big-tent and fairly easy (so students have a positive experience and keep on paying for more courses).

The undergraduate CS course is likely to be more demanding, to build on what you've just learned, and to provide a solid foundation for continued study. Also, some 18-year old CS majors will be focused and serious students (in the classroom, anyways).
posted by everythings_interrelated at 9:37 AM on May 10, 2016 [1 favorite]

I really enjoyed CS50.
posted by wolfr at 12:28 PM on May 10, 2016

Hey! I'm you! As a university employee, I took 3 undergrad major-track computer science classes and two informatics classes, basically for fun, with a possible eye toward job applicability. I would definitely recommend doing the majors' intro to CS class first.

Totally agree with what Betelgeuse said here:
I have concerns that the graduate level class will either 1) assume a level of programming/CS knowledge that you don't have or 2) be a fluffy class for people who want an intro to bioinformatics without having to wade through all that icky programming stuff.

You already know you like programming, and the intro for majors class will both let you do more of that, and will give you an entry point into the next CS classes. (I think data structures is where it really gets fun.) I'd also add that with more programming experience, you will be able to do more interesting projects when/if you decide to do the informatics class. In the first informatics class I took, I hadn't done much programming yet, and it was frustrating not to be able to be more hands-on in applying the things I was learning about. I think the CS class is also more likely to give you ideas of things you could automate in your current job. (It did for me.)
posted by fussbudget at 8:36 PM on May 10, 2016 [1 favorite]

Response by poster: These answers were all super helpful! I signed up for the intro class for majors, which is a little terrifying but also exciting. Wish me luck!
posted by ArbitraryAndCapricious at 3:51 PM on June 6, 2016 [2 favorites]

« Older Yet another "Do I want this job?" question   |   Can I eat it? Maybe-okay-egg edition Newer »
This thread is closed to new comments.