• Support PF! Buy your school textbooks, materials and every day products Here!

Thinking about an independent-study CS course or two

  • Courses
  • Thread starter AUMathTutor
  • Start date
  • #1
492
0

Main Question or Discussion Point

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~
 

Answers and Replies

  • #2
492
0
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
 
  • #3
492
0
bump.............
 
  • #4
513
0
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.
 
  • #5
492
0
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.
 
  • #6
492
0
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*
 
  • #7
513
0
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.
 
  • #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.
 
  • #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.
 
  • #10
492
0
"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.
 
  • #11
492
0
"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.
 
  • #12
513
0
6.050J Information, Entropy and Computation
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 364A. Algorithmic Game Theory
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.
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:

6.851 Advanced Data Structures
6.856J Randomized Algorithms
 

Related Threads for: Thinking about an independent-study CS course or two

Replies
4
Views
651
Replies
2
Views
1K
Replies
3
Views
2K
Replies
0
Views
1K
  • Last Post
Replies
3
Views
1K
Replies
2
Views
1K
Top