Computer Science

418 readers
1 users here now

A community dedicated for computer science topics; Everyone's welcomed from student, lecturer, teacher to hobbyist!

founded 4 years ago
MODERATORS
1
 
 

From to school to school it could either be in the Engineering college or Science college. Some say it's a Math.

Is having it in a different college going to affect how you're going to be taught? I'm going to Cal Poly Pomona and comp sci there is located in the college of science but at Cal State Long Beach it's in the college of engineering. Does this matter and how?

2
3
4
4
submitted 1 year ago* (last edited 1 year ago) by [email protected] to c/[email protected]
 
 

Hello, I'm trying to understand what has slowed down the progress of CPUs. Is it a strategic/political choice, or a real technical limitation?

5
6
7
 
 

I was curious about the difference between these two. I found a Reddit post about this, and I thought I'd summarize it here so that the content is replicated to lemmy.

Please be aware, this is not from a perspective of a computer scientist. I am very interested in computer science, but have a lot of knowledge gaps.

The premise of the question: Both of these seem to be methods of running two or more tasks / sub-tasks without necessarily using multiple cores. The concepts geeked similar to me, but I will explain the difference below.

How does the OS scheduler's multi tasking works (besides multi-threading)?

Basically, when the operating system is running two or more tasks, it may be running more tasks than cores available. To deal with this, it switches between these tasks very quickly - so fast it seems they're running concurrently.

Hyper threading

A hyper threaded CPU looks a bit different. To the user, it is interfaced almost like an extra core. Think about a multi core CPU. Every core is almost its own CPU. With hyper threading, some of those components are replicated, but not enough to make an extra core. (remember, CPU has many components, such as ALU, floating point units, load/store units, branch units, etc) However, the CPU arranges tasks in a way where two tasks can be using different parts of the CPU, hence can run concurrently on the same core. It is not super often that this happens, which is why a separate core is faster than hyper threading. But we are able to speed up tasks with concurrency faster than switching between them. This can be enhanced by the operating system scheduler scheduling tasks in an order making it likely to run concurrently on a hyper threaded CPU, in other words, scheduling tasks that will likely use different parts of the CPU and not conflict.

I hope this is a good summary, and I hope computer scientists can correct me if I'm wrong.

8
9
 
 

Simulation of the Apollo Guidance Computer (AGC)

10
3
The Recursive Universe (www.amandaghassaei.com)
submitted 4 years ago by [email protected] to c/[email protected]
11
12
13
14
 
 

The Goedel Prize awards outstanding papers in the area of theoratical computer science. All of the papers are linked.

Each computer scientist/student should at least have a look at these great papers. It covers papers of multiple CS fields and there is probably some interesting algorithm/prove that you haven't heard of yet.

Have a look and enjoy the rabbit hole!

15
 
 

Who of you never had the idea of translating a language in your mother tongue?

I just discovered this list of Non-English based programming languages. Have fun in experiencing a new way of programming without this nasty language barrier!

https://en.wikipedia.org/wiki/Non-English-based_programming_languages

Yours rr