computer-science

What is referential transparency?

What does the term referential transparency mean? I've heard it described as "it means you can replace equals with equals" but this seems like an inadequate explanation. ...

Computer Science for the elderly

I learned C++ when it was C with classes. I find myself increasingly disliking new technologies like XML and Garbage collection. On the other hand, I have discovered scripting languages like Lua and Python. And I find myself rather liking a hybrid environment of C++, with deterministic memory control, with an embedded script language, wi...

CS Majors: Hardest concept(s) you learned in school?

For the CS majors out there what were the hardest CS classes or concepts that you learned in your undergraduate schooling? Did you find once you learned the basics,(data structs, OOP fundamentals, discrete math, pointers, recursion, etc) the rest followed naturally or did you hit a wall at any point in your higher classes like OS'es and...

What's a Turing machine?

What is a Turing machine and why do people keep mentioning it? My IBM PC is all I need to do my computation! Why does anyone care about these machines? ...

Can garbage collection coexist with explicit memory management?

For example, say one was to include a 'delete' keyword in C# 4. Would it be possible to guarantee that you'd never have wild pointers, but still be able to rely on the garbage collecter, due to the reference-based system? The only way I could see it possibly happening is if instead of references to memory locations, a reference would be...

Stagnation as a computer scientist

Hello, Entering my fourth year of university, I feel that I've stagnated as a computer scientist. I'm a fairly decent programmer as is - I've taken an array of courses on algorithms, formal languages, formal logic and the like (as well as a ton of math), but I feel like I'm not learning anything anymore. I'm certainly much more enamored...

Attending a top university for post-graduate education from an unknown CS programme

I'm currently in my second year of a Computer Science degree and all is going well. I finished the first year with flying colours, even whilst spending a couple of months out for physiotherapy on a previous injury, and now the second year's content seems relatively straightforward. If I can keep up this rate of achievement then I'm sure ...

Your college CS experience

I am a high school senior in the middle of the college application process. I am applying to Stanford, MIT, Carnegie Mellon, Cal Poly, UC Berkeley, UCLA, UC Davis, and University of Washington. I have a reasonably good chance of being accepted to many of them. I want to major in Computer Science in college. Has anyone attended any of th...

Understanding Dynamic Binding

I understand how the implementation of dynamic binding works and also the difference between static and dynamic binding, I am just having trouble wrapping my brain around the definition of dynamic binding. Basically other than it is a run-time binding type. ...

What is Type-safe?

What does "type-safe" mean? ...

What symbols are used after base 36

Since Hex (base 16) uses 0-9A-F, and (I'm assuming here) Base 17 uses 0-9A-G and so on. What symbols are used once 0-9A-Z are all used up. ...

Do you have advice for a Computer Science Graduate looking to get into Hardware?

I'm a CS graduate and I've been in the field for 10 years now. Hardware has interested me from day 1, in fact, I am one course shy of a minor in Electrical Engineering. Now I've gotten to the point where I want to move more towards hardware and custom curcuit board development than I have in the past. The faculty of Engineering want m...

Project-based books / websites

What's your favorite project-based book or website? I really like The Elements of Computing Systems. This book will show you how to build a computing system from the ground up. In the process, you learn about combinatorial & sequential logic, ALU & memory chips, CPU & von Neumann architecture, machine & assembly language, assemblers, vi...

Level of Indirection solves every Problem

What does the quote "Level of Indirection solves every Problem" mean in Computer Science? ...

CS Information Systems Degree or CS Math/Science Degree

At my local university they offer two career paths for their Computer Science degree. One track is Information Systems and the other is Math & Science. If you take the Math & Science track you have the option of taking an extra 5 math classes and you receive a B.S. in Mathematics as well as your B.S. in CS. My question is which would be...

Script for College Class Registration

I sign up Spring courses tomorrow morning (transferring in to the Computer Science program). Since I'm a transfer student, I get the last pick of leftover classes not already taken. Emphasis on 'last pick' and 'leftover'. It's highly probable that whatever classes I intend on picking tomorrow, I might not even get because other students ...

Definition of a binary search tree

Hey guys, I'm trying to find the definition of a binary search tree and I keep finding different definitions everywhere. Some say that for any given subtree the left child key is less than or equal to the root. Some say that for any given subtree the right child key is greater than or equal to the root. And my old college data struc...

Will the accessibility of supercomputers change software engineering?

After reading this Computer World article, I've found some supercomputers that I readily available for less than $10000US. To me, that's a huge shock. However, I'm curious as to how this will impact software engineering and computer science, especially in the design and construction of applications. ...

What are some good Computer Science/Programming journals?

Which are the "best?" Specifically those that would allow one to become a part of a greater community. Moderators: please note that academic journals and more common variety periodicals are not the same thing. As far as I can tell there is no discussion of academic journals so far on Stack Overflow. ~ William Riley-Land ...

how were the first NP-complete problems shown to be NP-complete?

From the wikipedia entry on NP-Complete: "The easiest way to prove that some new problem is NP-complete is first to prove that it is in NP, and then to reduce some known NP-complete problem to it" I'm pretty sure that I understand this: If I have a problem, I can show that it is NP-Complete if I: show that it is in NP (a solution t...