What would help a Comp. Sci guy the most?

  • Thread starter Thread starter tamtam402
  • Start date Start date
Click For Summary

Discussion Overview

The discussion revolves around the question of whether undergraduate mathematical knowledge or undergraduate physics knowledge would be more beneficial for a computer science major. Participants explore how each field could complement computer science in various applications and contexts.

Discussion Character

  • Exploratory
  • Technical explanation
  • Debate/contested

Main Points Raised

  • One participant expresses a strong interest in both mathematics and physics, seeking to determine which would better complement their computer science studies.
  • Another participant suggests that undergraduate mathematical knowledge is likely more beneficial, though they note the lack of detailed context in the original question.
  • A different viewpoint indicates that both mathematics and physics are valuable, with mathematics aiding in problem-solving and coding efficiency, while physics provides insights into hardware and electronics.
  • Further elaboration includes specific applications of both fields in computer science, such as modeling light in video games, developing data-driven software, and considerations for flow control in programming.
  • Systems design is discussed, emphasizing the importance of data-driven and component-based approaches, with references to various technologies and standards that could inform robust system design.

Areas of Agreement / Disagreement

Participants express differing opinions on the relative importance of mathematics versus physics, indicating that multiple competing views remain without a consensus on which field is more beneficial for computer science.

Contextual Notes

Some contributions highlight specific applications and contexts where knowledge from either field could be advantageous, but the discussion does not resolve which field is definitively better suited for complementing computer science.

tamtam402
Messages
199
Reaction score
0
Undergrad mathematical knowledge, or undergrad physics knowledge? Both fields interest me a lot, and I can do a double major in CS + either math or physics. I love these 3 fields almost equally, so I figured I would study the thing that complements CS the best.

Sorry for my bad english btw.
 
Physics news on Phys.org
Probably undergraduate mathematical knowledge. You aren't giving a whole lot of helpful information though.
 
both are good complements, math will help create efficient equations in coding and a new way to solve problems but physics will teach the underlying electronics in the hardware and how they work.
 
tamtam402 said:
Undergrad mathematical knowledge, or undergrad physics knowledge? Both fields interest me a lot, and I can do a double major in CS + either math or physics. I love these 3 fields almost equally, so I figured I would study the thing that complements CS the best.

Sorry for my bad english btw.

Depends on what you want to apply you're CS knowledge to. I'll list a few examples:

1) Video games
For this maths and physics would be beneficial. Let's say you model light. You have models that are dead simple (like ambient light aka sun light modeling) to raytracing and radiosity models. Same for geometry. You go from simple collision detection models in a plane (signed distance between point and respective plane) to convex hulls in any dimension (although you only typically use 3). Also think about writing camera systems: some use splines, springs + damping, quaternion interpolation on the unit sphere. And this is the tip of the iceberg. These million plus line monstrosities are very complicated

2) Data driven software
Apart from the particular sensory fields (visuals,audio) you will need to have good data driven software that's extensible and backwards compatible. Something like an XML container data structure is a good step in this direction.

3) Flow control
This is one thing that you should think about when you're writing programs or reading them. This is especially important with multi-core / highly parallel / independent hardware type systems where devices can work independently and fire off events independently.

Back in the day (and even now) our program would be nested in some infinite loop until some exit combination broke it and returned control back to the shell. While that probably won't change, what will change is that programs will more than likely move from one where you write heaps of do loop while not broken to the "register an event with the systemwide event handler" and hook the appropriate message.

On top of this you're event handler (if it is smart) could for example launch the callback in a different thread and monitor the time taken and if it is taking too long it can kill it. So if you did this and offered the ability for your program to be modded through DLL's then yeah you could in a way "debug" offensive addons.

4) Systems design

By systems design I don't mean the UML crap that software engineers do. When you design a system (any system) there are always going to be a few things that you should have especially when you are planning to have an application that can easily be extended. Some include it to be A) Data driven and B) Component Based

If you want to learn about this kind of thing your best bet is to look at the different standards of Microsoft's different technologies. If you don't like Billy G, then check out something like CORBA from the Object Management Group. I would however recommend that you look at the COM design (Component Object Model).

In relation to that things like Class Factory Templates, Interface Registration, Resource Templates, Some kind of interface that allows script language compatibility, and other metadata paradigms will help you get an idea of how to build rigid and robust systems with templates that will last a long time.

I'm just throwing some things out there since I don't know exactly what you're interests are or where you'd like to go with it.
 

Similar threads

  • · Replies 4 ·
Replies
4
Views
2K
  • · Replies 6 ·
Replies
6
Views
3K
  • · Replies 14 ·
Replies
14
Views
2K
  • · Replies 17 ·
Replies
17
Views
5K
  • · Replies 17 ·
Replies
17
Views
3K
  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 2 ·
Replies
2
Views
3K
  • · Replies 2 ·
Replies
2
Views
2K
  • · Replies 7 ·
Replies
7
Views
3K
  • · Replies 13 ·
Replies
13
Views
3K