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!

Courses Thinking about an independent-study CS course or two

  1. May 15, 2009 #1
    Hello,

    Next Spring, I may be taking a couple of independent study / directed reading type courses in Computer Science / Software Engineering. If interesting graduate courses are being offered, that may be what I end up doing, but...

    What do you guys think would make a good independent study course in computer science / software engineering? My interests are pretty broad, and my background is varied enough that I should be able to take a course at a resonable level in most CS areas. I generally gravitate towards theory and applications areas, but I don't want to rule out hardware and software possibilities, particularly because it seems this is what my school is better for.

    So... if anybody has any ideas or anecdotes, I would love to hear them. I know a lot of you are probably thinking "do research"... and that's a great idea. I'm actually going to be doing ~20 hours of research per week for the rest of my undergraduate career, working on two separate projects. I already worked 4 semesters on another couple of projects, and even managed to get published, somehow. So, while research is definitely an option, I'm really more interested in ideas for neat, possible useful, possible resume-bolstering courses.

    Thanks~
     
  2. jcsd
  3. May 15, 2009 #2
    And just so you guys have a flavor for the sorts of things I will have already had, perhaps so you can suggest things to make up for any deficiencies:

    Intro. programming (sort of a joke, a necessary evil)
    Data Structures
    Software Construction (sort of like an intro to software engineering)
    Programming Languages
    Discrete Structures / Mathematics
    Algorithms
    Assembly language & computer organization
    Operating Systems
    Software Modeling and Design (sort of an intro/intermediate software engineering thing)
    Formal Languages (sort of like an intro. to theoretical cs & complexity)
    Computer architecture
    Computer Networks
    Software Process
    Software Quality Assurance
    Embedded and Real Time Systems
    Computer Ethics
     
  4. May 15, 2009 #3
    bump.............
     
  5. May 16, 2009 #4
    What about a class on Automata theory or design patterns? Your question is so broad, and you've taken a lot of CS courses already, so it's hard to answer. Help us by narrowing down your interests a bit.
     
  6. May 16, 2009 #5
    Ideas I've had include things like some sort of logic, automata, or some other sort of theory or application class. I like relatively mathy things. Hardware and software engineering are alright too... idk, I had somebody suggest performability, and that looked like a good idea. Maybe an introduction to robotics or physical computing?

    I'm also interested in what people may consider "core" classes I've not listed, perhaps something that graduate schools would look at and say "he's good, but he didn't take _____". I know this varies from grad school to grad school, program to program, and a lot of it has to do with my intended specialization...

    But I'm more concerned about this broadening my interests rather than focusing them too much. I just want something interesting, something probably more fundamental / theoretical than practical and applied. I've actually been looking around the web, at course catalogs for other very well-known and well-respected schools, just to see if they offered more exotic fare. Some of the stuff I found...

    6.050J Information, Entropy and Computation
    6.141J Robotics: Science and Systems
    6.254 Game Theory with Engineering Applications
    6.336J Introduction to Numerical Simulation
    6.851 Advanced Data Structures
    6.856J Randomized Algorithms
    15-317 Constructive Logic
    15-354 Computational Discrete Mathematics
    CS 227B. General Game Playing
    CS 345A. Data Mining
    CS 364A. Algorithmic Game Theory
    COS444 - Internet Auctions: Theory and Practice (Spring)
    COS576 - Nonstandard Computation
    Computer Science 225. Pseudorandomness
    CS 4860 Applied Logic (also MATH 4860)
    CSCI 581 Logic and its Applications (3)
    CS/EE/Ma 129 abc. Information and Complexity.

    Of these courses, which would you think would be most interesting, most practical to know, and most useful for further study?

    Also, given the general themes in this list, what other courses might you recommend?

    NOTE: I don't think I'm going to be able to do much in AI, just due to time constraints and the like. Naturally, I'd enjoy that, but I think it would be hard to swing that since the department does have regular course offerings in that area.
     
  7. May 17, 2009 #6
    Final bump...

    AND...

    Was this the wrong subforum to put this in? Would I have more success with another website? Could I rephrase the question to get more responses?

    *sad*
     
  8. May 17, 2009 #7
    Can you post a list of the courses at your school that you are thinking of taking? The reason you aren't getting many replies is because it's still a broad question.
     
  9. May 17, 2009 #8
    You mentioned Algorithms. What about parallel algorithms? Multi-cpu computers are increasingly common, and non-von-Neumann algorithms are becoming more important. There's surely a place for functional languages in there, too.
     
  10. May 17, 2009 #9
    Also, it occurs to me that you mentioned both CS and Software Engineering. These are two very different animals. If you are looking to bolster your resume for industry, then the software engineering might be more valuable. Consider agile-related stuff, such as learning Scrum.
     
  11. May 17, 2009 #10
    "Can you post a list of the courses at your school that you are thinking of taking? The reason you aren't getting many replies is because it's still a broad question."

    I guess just consider the list of courses I posted as a hypothetical list of "independent study courses" offered by my school. I'm confident I can find a professor to do most of them. I will evaluate graduate courses being offered next Spring when that information becomes available.
     
  12. May 17, 2009 #11
    "You mentioned Algorithms. What about parallel algorithms? Multi-cpu computers are increasingly common, and non-von-Neumann algorithms are becoming more important. There's surely a place for functional languages in there, too."

    This is a good idea. It may not be at the top of my list, just because some parallel offerings are occasionally made, as is the case with AI. Most of my research is going to be dealing with issues in parallelism, however, and I'm going to be picking up a good deal of that just in performing the research. I appreciate the suggestion, and I'll definitely keep it in mind.

    "Also, it occurs to me that you mentioned both CS and Software Engineering. These are two very different animals. If you are looking to bolster your resume for industry, then the software engineering might be more valuable. Consider agile-related stuff, such as learning Scrum."
    Well, my objective isn't necessarily to increase my marketability. If that happens, then alright, but first and foremost I'm looking to (a) overcome shortcomings and (b) do something interesting. I think that the Software Process course is going to give me at least some exposure to agile methods, or at least it appears that way in the syllabus.


    I wonder how you feel about the courses I listed? After reviewing the list, I've noticed that they seem to fall into roughly the following categories:

    - logic
    - information
    - game theory
    - miscellaneous

    I could also make it a special problem course. What problems would be interesting to look at? Ideas? I'm definitely into discrete mathematics and logic... so a little more on the mathy side.

    I really appreciate all of the advice.
     
  13. May 18, 2009 #12
    These topics would all be very useful and are also extremely interesting - at least to me. If I were choosing topics for my own independent study, I'd go with one of these:

     
Know someone interested in this topic? Share this thread via Reddit, Google+, Twitter, or Facebook