Thinking about an independent-study CS course or two

In summary, the individual is considering taking independent study courses in Computer Science/Software Engineering and is open to suggestions for what topics would make a good course. They have a broad range of interests and background in CS and are interested in both theory and applications areas. They are also looking for suggestions on "core" classes that would be beneficial for graduate school. The individual has listed some potential courses they have found at other schools and is seeking opinions on which ones would be most interesting, practical, and useful for further study. They are also open to suggestions for other courses not listed. Finally, they are wondering if this is the right forum to ask for suggestions or if they should rephrase their question for better responses.
  • #1
AUMathTutor
498
0
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~
 
Physics news on Phys.org
  • #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
 
  • #3
bump....
 
  • #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.
 
  • #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.
 
  • #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*
 
  • #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.
 
  • #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
"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
"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
AUMathTutor said:
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:

AUMathTutor said:
6.851 Advanced Data Structures
6.856J Randomized Algorithms
 

Related to Thinking about an independent-study CS course or two

1. What is an independent-study CS course?

An independent-study CS course is a course that allows a student to work on a specific topic or project related to computer science at their own pace, with minimal supervision from a professor or instructor. This type of course is typically only offered to students who have a strong understanding of the subject matter and can work independently.

2. How do I enroll in an independent-study CS course?

The process for enrolling in an independent-study CS course may vary depending on your school or institution. Typically, you will need to find a professor or instructor who is willing to supervise your course and work with them to create a plan for your studies. You may also need to submit a proposal outlining your topic or project and obtain approval before enrolling.

3. What are the benefits of taking an independent-study CS course?

There are several benefits to taking an independent-study CS course. It allows you to explore a specific topic or project in-depth, at your own pace. It also allows for more flexibility in scheduling, as you do not have to attend regular classes. Additionally, it can be a great opportunity to work closely with a professor and gain valuable research or project experience.

4. What topics can I study in an independent-study CS course?

The topics available for independent-study CS courses will vary depending on your school or institution, as well as the expertise of the supervising professor. Some common topics may include artificial intelligence, data science, programming languages, or computer systems. It is important to discuss your interests and goals with your professor to determine a suitable topic for your course.

5. Can I receive credit for an independent-study CS course?

Most schools and institutions will offer credit for independent-study CS courses, but the amount of credit may vary. Typically, the credit hours will be determined based on the amount of work and effort put into the course, as well as the level of complexity and depth of the topic or project. It is important to check with your school or institution for their specific policies on credit for independent-study courses.

Similar threads

  • STEM Academic Advising
Replies
1
Views
528
  • STEM Academic Advising
Replies
12
Views
998
  • STEM Academic Advising
Replies
2
Views
1K
  • STEM Academic Advising
Replies
3
Views
1K
  • STEM Academic Advising
Replies
9
Views
901
Replies
2
Views
996
  • STEM Academic Advising
Replies
3
Views
523
  • STEM Academic Advising
Replies
6
Views
1K
  • STEM Academic Advising
Replies
4
Views
892
  • STEM Academic Advising
Replies
8
Views
1K
Back
Top