Dilema in choosing elective subjects from a Computer Science syllabus

In summary: That's actually a pretty big industry and something you may want to look into if you are interested in that sort of thing.
  • #1
gunslinger
13
0
Hi all.

Obligatory subjects are:
  • Algorithms and Data Structures
  • Probability and Statistics
  • Computer Networks

Electives are:
  • Formal languages and Automata
  • Advanced Programming (Java mainly. generic programming etc. etc.)
  • Logic and functional programming(Prolog and Lisp)
  • Interactive applications
  • Internet programming
  • Calculus 3
  • Linear Algebra

Now, Interactive apps. and Internet prog. are subject I have little or no interest for, so that narrows the list. Advanced prog. is what I will definitely take, but I'm contemplating between Linear Algebra, Logic and Functional prog. and Formal languages and Automata.

I can choose one more. It's my third semester and I still don't know which areas of comp. sci. I want to concentrate on so I came here for advice :)
 
Physics news on Phys.org
  • #2
I don't see anything here on database programming perhaps it's embedded in another course but that is definitely something that is useful to know.

Of the three you mention I would order them as formal languages and automata useful for complex programming where a state machine is needed, then logic and functional programming useful when working with the more modern languages like groovy or Scala or any language with closures.

I am surprised by your disinterest in web programming, it's the job du jour now and definitely useful. In particular Service Oriented Architecture and web services, mobile apps... I would reconsider your disinterest and take them.
 
  • #3
jedishrfu said:
I don't see anything here on database programming perhaps it's embedded in another course but that is definitely something that is useful to know.

Of the three you mention I would order them as formal languages and automata useful for complex programming where a state machine is needed, then logic and functional programming useful when working with the more modern languages like groovy or Scala or any language with closures.

I am surprised by your disinterest in web programming, it's the job du jour now and definitely useful. In particular Service Oriented Architecture and web services, mobile apps... I would reconsider your disinterest and take them.

I'm not at all surprised in his disinterest in web programming. Gimme some C,C++,even hardware level coding, some GPU computing coding, etc. then you are talking!

That said, sadly for jobs, it seems to be all web programming or databases. blech. but yeah that is the where the jobs seem to more often be (and the money when you talk databases)
 
  • #4
There is a kind of layering that has happened in software engineering:

level 0: device driver programming for new hardware
level 1: libraries for the new hardware
level 2: platform specific middleware, communications networking...
level 3: platform specific apps
----------------------------------------------------------------------------
level 4: platform specific java abstraction layer
------------------------------------------------------------------------------
level 5: JVM cross platform languages compilers, runtimes, libraries
level 6: JVM cross platform apps
level 7: web services and servers
level 8: web client apps
level 9: mobile device internet apps

Programmers tend to fall into one of these levels. They also tend to become either program/library maintainers or application programmers. Most software companies are looking for maintainers that can learn the base code and extend it as needed. Later you might get to write new stuff.

Also for OO style programmers there's a division between library class programmers and application programmers in that its harder to design a good class library than it is a program.
 
  • #5
Yeah, no particular interest in web development. Also, I have databases as an obligatory subject in another semester.

And I think I'm going to become a Data Analyst, looking from my interest in subjects, but I'm not 100% sure.
 
  • #6
gunslinger said:
Yeah, no particular interest in web development. Also, I have databases as an obligatory subject in another semester.

And I think I'm going to become a Data Analyst, looking from my interest in subjects, but I'm not 100% sure.

What about computational physics or economics...?
 
  • #7
I think not, since I haven't went through those courses. I don't have physics in my syllabus
 
  • #8
I vote for advanced programming out of the ones you are interested in. Java seems to be a big one on the job market these days. But I agree with jedishrfu about reconsidering your disinterest.

Formal languages and Automata is really fun stuff, though. Not terribly practical, but fun. If you are into mathematical sorts of things, that is.

If you are interested in data analysis, I'm pretty sure linear algebra would be a good course to have, since it comes up a bit in statistics. Calc 3 would probably be good, too. But those are only good if you go towards something more on the mathematical side.
 
  • #9
gunslinger said:
I think not, since I haven't went through those courses. I don't have physics in my syllabus


I was really talking about doing computer modeling and simulation. Its doing numerical integration of differential equations to solve problems in science or economics.
 

1. What are the available elective subjects in a Computer Science syllabus?

The available elective subjects in a Computer Science syllabus vary depending on the university or institution. However, some common elective subjects include artificial intelligence, database management, computer graphics, and web development.

2. How do I choose the right elective subjects from a Computer Science syllabus?

Choosing the right elective subjects from a Computer Science syllabus can be challenging. It is important to consider your interests, career goals, and the prerequisites for each subject. Consulting with your academic advisor can also help you make an informed decision.

3. Is it necessary to take elective subjects in Computer Science?

Elective subjects in Computer Science are not mandatory, but they can be beneficial for your learning and future career. They allow you to explore different areas of the field and gain specialized knowledge that can give you a competitive edge in the job market.

4. Can I change my elective subjects after I have enrolled in a Computer Science program?

In most cases, it is possible to change your elective subjects after enrolling in a Computer Science program. However, this may depend on the rules and regulations of your university or institution. It is best to consult with your academic advisor or the relevant department for more information.

5. How do I balance my core and elective subjects in a Computer Science syllabus?

Balancing your core and elective subjects in a Computer Science syllabus is important to ensure a well-rounded education. You can consider your interests, career goals, and the course workload when deciding how many elective subjects to take per semester. It is also recommended to spread out your elective subjects throughout your program instead of taking them all in one semester.

Similar threads

  • STEM Academic Advising
Replies
9
Views
1K
  • STEM Academic Advising
Replies
6
Views
3K
  • STEM Academic Advising
Replies
5
Views
1K
  • STEM Academic Advising
Replies
1
Views
1K
  • STEM Academic Advising
Replies
2
Views
1K
  • STEM Academic Advising
Replies
4
Views
1K
Replies
1
Views
806
  • Engineering and Comp Sci Homework Help
Replies
2
Views
974
  • STEM Academic Advising
Replies
2
Views
1K
  • STEM Academic Advising
Replies
7
Views
2K
Back
Top