Page 2 of 3

Re: Would an OS project be helpful in getting into top colle

Posted: Thu Apr 27, 2017 7:50 am
by Schol-R-LEA
Muazzam wrote:(Not sure if computer science really counts as science.)
There are aspects of informatics (my preferred term) which are a science, or at least are a research field of a type.

The problem I have with the term 'computer science' comes from the fact that it almost invariably refers to other aspects of the topic which aren't even remotely scientific, or even engineered. In the US at least, most informatics coursework is more about training for coding as a trade (which applied informatics often is), with a total focus on learning specific languages, techniques, frameworks, etc.

Working programmers (and informatics theorists) need to know at least one practical programming language and have exposure to several others, and those who are more conscientious (or at least, not working in a fixed niche such as maintaining COBOL programs the whole time) keep taking them throughout their careers. However, the languages and frameworks themselves are not really the core topics of 'computer science' or 'software engineering', or even of programming as a trade. They aren't even really enough for the practice of the field as a trade, without also including a more abstract understanding, never mind the theory and research aspects.

Most universities here give only the most rudimentary coverage of even basic topics such as data structures and algorithmics, either of which are big enough topics that they could fill a curriculum on their own, while at the same time giving almost none to the interpersonal communication and project management topics which are the real bread and butter of working software developers.

By trying to split the difference, while putting most of the focus on what are really somewhat peripheral topics which need to be learned and re-learned repeatedly anyway, they end up diluting the courses to the point of losing most value, which is why so many developers and theorists alike tend to dismiss university degrees as irrelevant. They shouldn't be, but there is just no way to cover enough of the topic in a four-year course while also providing a liberal (in the sense of broad) education, which is after all the original purpose of universities.

Personally, I think we need to restructure the whole thing. We need three or four different tracks, in addition to the existing separate MIS track many schools offer now, with different goals and endgames. All of them would be graduate curricula, not undergraduate - even for trade programmers, four years isn't enough. Perhaps a 'pre-informatics' track might be made for BS courses, but maybe not.

Also, all of them would have a separate two-year apprenticeship, above and beyond the degree work, with a certification at the end.

I actually think - despite being against my own self-interests - that it would be best to have commercial (paid) software development regulated in the same way medicine and law are - or, more appropriately, like every other engineering discipline is. However, whenever I have mentioned this over the past 20 years, people respond with 'burn the witch!', or at least dismiss it as impractical.

I have often gotten the answer that unlike those fields, software isn't something that can destroy a person's life or livelihood when done incorrectly, but that's so obviously wrong that I can't help wondering what planet they are talking about where programs don't affect things. Bad software does take lives - anyone who knows the stories of the Therac-25 or the timing problem in Patriot missiles knows this. Bad software has caused stock market crashes and rocket launch failures. It misleads, it facilitates theft, it wastes peoples' time. And we've got almost no software today that isn't bad. We can't go on like this.

It is a trite cliche that if we built houses like we build programs, the first woodpecker to come along would destroy civilization. But architects are licensed for a reason. I think programmers should be too, for the very same reason - too much is at stake if it goes wrong.

Re: Would an OS project be helpful in getting into top colle

Posted: Thu Apr 27, 2017 8:03 am
by AMenard
Schol-R-LEA wrote:
Muazzam wrote:(Not sure if computer science really counts as science.)
There are aspects of informatics (my preferred term) which are a science, or at least are a research field of a type.

The problem I have with the term 'computer science' comes from the fact that it almost invariably refers to other aspects of the topic which aren't even remotely scientific, or even engineered. In the US at least, most informatics coursework is more about training for coding as a trade (which applied informatics often is), with a total focus on learning specific languages, techniques, frameworks, etc.

Working programmers (and informatics theorists) need to know at least one practical programming language and have exposure to several others, and those who are more conscientious (or at least, not working in a fixed niche such as maintaining COBOL programs the whole time) keep taking them throughout their careers. However, the languages and frameworks themselves are not really the core topics of 'computer science' or 'software engineering', or even of programming as a trade. They aren't even really enough for the practice of the field as a trade, without also including a more abstract understanding, never mind the theory and research aspects.

Most universities here give only the most rudimentary coverage of even basic topics such as data structures and algorithmics, either of which are big enough topics that they could fill a curriculum on their own, while at the same time giving almost none to the interpersonal communication and project management topics which are the real bread and butter of working software developers.

By trying to split the difference, while putting most of the focus on what are really somewhat peripheral topics which need to be learned and re-learned repeatedly anyway, they end up diluting the courses to the point of losing most value, which is why so many developers and theorists alike tend to dismiss university degrees as irrelevant. They shouldn't be, but there is just no way to cover enough of the topic in a four-year course while also providing a liberal (in the sense of broad) education, which is after all the original purpose of universities.
It all depend on the university. Here in my province, you have five university offering computer related programs. The one I chose was
called "Informatique de Gestion" (Business oriented computer science) where we had a mix of theory, coding and management courses That was at UQAM (Université du Québec à Montréal).

But if you go to the Polytechnique (which is a branch of the UdM (Université de Montréal) then you get more into maths and engineering subjects.

In all cases, and in pretty much all of the local university, the best "science" oriented curriculum is to take Math as a discipline with computer as a speciality. That way you don't get any management classes and go deeper into theory and proof.

Re: Would an OS project be helpful in getting into top colle

Posted: Thu Apr 27, 2017 8:07 am
by Schol-R-LEA
Oops, I got caught out by editing the post after I submitted it, sorry about that. You might want to see what I added.

Re: Would an OS project be helpful in getting into top colle

Posted: Thu Apr 27, 2017 9:15 am
by sleephacker
Muazzam wrote:Not sure if computer science really counts as science.
:evil: :evil: :evil:
Excuse me?
Computer Science is a science. In fact, a lot of research (including in maths) depends on CS in some shape or form. And don't say Physics is a science but CS is not, the universe is only one of many Turing Machines!
One could even argue that Maths itself is just an application of Computer Science. After all, equations are just a way of writing down fairly simple (mostly O(1) or O(N)) algorithms. Then again, you could also say algorithms are just more complicated equations. Either way, CS is definitely a science, it is just much more theoretical and doesn't explain any phenomena in the 'real' world, basically Maths 2.0.
There is of course a difference between programming and actual (scientific) CS, much like there is a difference between tracking the movements of planets and stars based on Physics, or actually making new discoveries and developing new theories in Physics.

Re: Would an OS project be helpful in getting into top colle

Posted: Thu Apr 27, 2017 10:06 am
by AMenard
sleephacker wrote:
Muazzam wrote:Not sure if computer science really counts as science.
:evil: :evil: :evil:
Excuse me?
Computer Science is a science. In fact, a lot of research (including in maths) depends on CS in some shape or form. And don't say Physics is a science but CS is not, the universe is only one of many Turing Machines!
One could even argue that Maths itself is just an application of Computer Science. After all, equations are just a way of writing down fairly simple (mostly O(1) or O(N)) algorithms. Then again, you could also say algorithms are just more complicated equations. Either way, CS is definitely a science, it is just much more theoretical and doesn't explain any phenomena in the 'real' world, basically Maths 2.0.
There is of course a difference between programming and actual (scientific) CS, much like there is a difference between tracking the movements of planets and stars based on Physics, or actually making new discoveries and developing new theories in Physics.
For me CS, like Math, isn't science. They're tools used by science.

Re: Would an OS project be helpful in getting into top colle

Posted: Thu Apr 27, 2017 10:35 am
by davidv1992
sleephacker wrote:
Muazzam wrote:Not sure if computer science really counts as science.
:evil: :evil: :evil:
Excuse me?
Computer Science is a science. In fact, a lot of research (including in maths) depends on CS in some shape or form. And don't say Physics is a science but CS is not, the universe is only one of many Turing Machines!
One could even argue that Maths itself is just an application of Computer Science. After all, equations are just a way of writing down fairly simple (mostly O(1) or O(N)) algorithms. Then again, you could also say algorithms are just more complicated equations. Either way, CS is definitely a science, it is just much more theoretical and doesn't explain any phenomena in the 'real' world, basically Maths 2.0.
There is of course a difference between programming and actual (scientific) CS, much like there is a difference between tracking the movements of planets and stars based on Physics, or actually making new discoveries and developing new theories in Physics.
Sorry to those for whom this gets to technical (or off-topic), but I can't help myself.

First of all, looking at maths as algorithms only is somewhat problematic, as this would throw away all non-constructive mathematical reasoning. This already gives significant problems in setting up such fields as Analysis and Topology, which form the basis of most modern mathematics. In fact, I would argue that there are large research areas (such as the study of Algorithms and Data structures) that are usually considered part of computer science, that could just as well be called Mathematics.

Furthermore, calling the universe a turing machine is a bit problematic, as it most definitely has more computing power, at least when viewed from the point of Complexity Theory. Part of this is because the universe actually could (at least on a theoretical level, and probably also on a practical level) quantum computers, which seem to have the potential to compute some NP problems in P time (which can only be done on turing machines when P=NP holds, which seems unlikely), not to mention the fact that the universe would allow parallel computations.

Other than that, when considering computer science , you seem to focus primarily on the more mathematically inclined portions of it (given your comment of Maths 2.0). However, there are definitely some portions of it that are considerably more debatable. Computer science also includes research on the security of systems, and on things like development methodology. Especially this last one also contains some stuff that is (in my opinion) somewhat questionable to call research, at least in the sense that it at times seems to be build on very flimsily constructed experiments. Then again, there are also some more social oriented sciences that seem to have serious issues with reproducability and quality of experiments, and no one ever seems to question calling that science.

Re: Would an OS project be helpful in getting into top colle

Posted: Thu Apr 27, 2017 11:19 am
by Korona
AMenard wrote:For me CS, like Math, isn't science. They're tools used by science.
Clearly you have studied neither math nor computer science at a graduate level. There are large parts of both CS and math that are inherently useful and interesting and not part of a "toolbox for scientists". In fact this applies to most research-level math and also to large parts of theoretical CS.

Re: Would an OS project be helpful in getting into top colle

Posted: Thu Apr 27, 2017 12:36 pm
by AMenard
Korona wrote:
AMenard wrote:For me CS, like Math, isn't science. They're tools used by science.
Clearly you have studied neither math nor computer science at a graduate level. There are large parts of both CS and math that are inherently useful and interesting and not part of a "toolbox for scientists". In fact this applies to most research-level math and also to large parts of theoretical CS.
Actually I do. I went to UQAM (Universite du Québec à Montréal). The CS program is linked with the administration program, not the math. If you are in the Math program you CAN chose a computer "specialization" which doesn't have all the business management and accounting courses.

Re: Would an OS project be helpful in getting into top colle

Posted: Thu Apr 27, 2017 1:14 pm
by sleephacker
davidv1992 wrote:Furthermore, calling the universe a turing machine is a bit problematic, as it most definitely has more computing power, at least when viewed from the point of Complexity Theory. Part of this is because the universe actually could (at least on a theoretical level, and probably also on a practical level) quantum computers, which seem to have the potential to compute some NP problems in P time (which can only be done on turing machines when P=NP holds, which seems unlikely), not to mention the fact that the universe would allow parallel computations.
Maybe calling the universe itself a turing machine was wrong, but I still think it could be described as at least a program running on a turing machine, since as far as I know everything in the universe is computable (or at least we haven't encountered anything that definitely isn't computable). In this case 'universe.exe' would be a program that loops infinitely and on each cycle computes the next state of the universe based on the current state of the universe, much like a game/physics engine. Quantum computing would still be possible, it can take as long to calculate the next state as it wants because time is part of the state (i.e. we measure time by the number of 'frames' expired, not by how long each frame took because we can't know). It could solve any solvable problem in constant 'universe time'. The only condition this depends on is that time has to be quantized and not continuous.

Re: Would an OS project be helpful in getting into top colle

Posted: Thu Apr 27, 2017 2:58 pm
by eryjus
AMenard wrote:
Korona wrote:
AMenard wrote:For me CS, like Math, isn't science. They're tools used by science.
Clearly you have studied neither math nor computer science at a graduate level. There are large parts of both CS and math that are inherently useful and interesting and not part of a "toolbox for scientists". In fact this applies to most research-level math and also to large parts of theoretical CS.
Actually I do. I went to UQAM (Universite du Québec à Montréal). The CS program is linked with the administration program, not the math. If you are in the Math program you CAN chose a computer "specialization" which doesn't have all the business management and accounting courses.
Whereas at UCI (University of California, Irvine), the Computer Sciences program had its own school, not part of another program/school. I'm sure the experience influences your (the collective "you", not personal) bias.

Re: Would an OS project be helpful in getting into top colle

Posted: Fri Apr 28, 2017 5:29 am
by AMenard
eryjus wrote:
AMenard wrote:
Actually I do. I went to UQAM (Universite du Québec à Montréal). The CS program is linked with the administration program, not the math. If you are in the Math program you CAN chose a computer "specialization" which doesn't have all the business management and accounting courses.
Whereas at UCI (University of California, Irvine), the Computer Sciences program had its own school, not part of another program/school. I'm sure the experience influences your (the collective "you", not personal) bias.
Of course it does, and this is what I intended to say previously and why I clearly said "in my opinion"...
If i went to the Polytechnique instead of UQAM I would have had a totally different take on the subject. But in any case, where I live, a college or university diploma is mandatory for any serious employer. Hell, even my own job description changed from requiring a college degree or equivalent experience to a full university diploma in the last 10 years.

Re: Would an OS project be helpful in getting into top colle

Posted: Tue May 02, 2017 8:43 am
by Schol-R-LEA
AMenard wrote:
sleephacker wrote:Computer Science is a science. In fact, a lot of research (including in maths) depends on CS in some shape or form. And don't say Physics is a science but CS is not, the universe is only one of many Turing Machines!

One could even argue that Maths itself is just an application of Computer Science. After all, equations are just a way of writing down fairly simple (mostly O(1) or O(N)) algorithms. Then again, you could also say algorithms are just more complicated equations. Either way, CS is definitely a science, it is just much more theoretical and doesn't explain any phenomena in the 'real' world, basically Maths 2.0.

There is of course a difference between programming and actual (scientific) CS, much like there is a difference between tracking the movements of planets and stars based on Physics, or actually making new discoveries and developing new theories in Physics.
For me CS, like Math, isn't science. They're tools used by science.
It really all depends on how you are defining 'science'. I would say that 'computer science' accounts for perhaps 1% of the work done in informatics.

However, this is based on the definition of a science being a research field in which the scientific method - an iterative process of observation, hypothesis, and test, with each step being subject to critical scrutiny and all observations needing to be repeatable by others - is applied to create and refine a usable model of phenomena. Needless to say, this isn't how any of the applied fields usually work, and Informatics is first and foremost an applied field.

Note that 'test' doesn't mean 'experiment'; the primary purpose of the test stage is to consider (among other things) one or more possible observations that could refute the hypothesis, if any of them occur in subsequent observations, then the hypothesis needs to be reformulated. Experimentation is a formalized form of observation, and occurs in that stage, not the test stage. Direct experimentation not always possible (or ethical) in fields such as, say, sociology or astronomy.

So, the statement that Informatics is a science is, while accurate in some senses, a gross overstatement and oversimplification; but the same is true of the assertion that it is 'just' a tool for the other sciences. And let's face it, the overwhelming majority of trade programming has no real connection to either of those aspects.

I would also take exception to the idea of equating algorithmics and mathematics in general (which is what Sleephacker seems to be arguing in favor of). However, conflating the two has been an issue for centuries, as the two weren't really separable until the development of mechanized computation - you needed to use algorithmics (formal processes resulting is a solution) for the majority of applied uses of mathematics (the study of the properties of numbers and related abstract conceptual structures such as vector spaces, geometric spaces and surfaces, etc.).

However, I do not see them as the same thing, and I think that trying to see them as a piece is holding us back. As Hal Abelson put it, math is declarative ('what is') knowledge, while algorithmics is procedural ('how to') knowledge.


Most of what we are taught in primary and secondary school (elementary school and high school in the US, I don't know the names for them used in other countries) is algorithmics, not mathematics. But the two fields are conjoined twins; you need at least some understanding of mathematics to use algorithmics by hand, and to get a specific result in mathematics you need an algorithm (e.g., cross-multiplication, algebraic manipulation, etc.).

There are also calculi, which are metaprocesses for determining which of a set or family of algorithms to use for a specific purpose, and how to use it - unlike pure algorithms, calculi are heuristic rather than deterministic (and may involve trial and error, such as with integral calculus); and notations, which are the formal languages used to describe each of these in a way that others can understand without a lot of verbal elaboration (that is, you can write 'sin x' rather than a description of the sine function and the algorithm for computing it, and other mathematicians who know the notation will understand what you mean).

They all tend to get lumped together into 'mathematics', but it is getting to the point where it makes sense to make a finer distinction, IMAO.

This confusion of ideas has led to a lot of the problems in informatics today. Declarative knowledge is vastly easier to formalize, so a lot of programming is aimed at either instantiating a piece of declarative knowledge in a process (that is, creating algorithms that correspond to a mathematical function), on the one hand, and creating processes or notations that can operate directly on a set of declarative statements (such as grammar tables in a lexer or parser; logical assertions such as those used in Prolog or Mercury; logical constraints such as in Oz or Wolfram ; entity relationships in a relational database; or dataflows as in Joule or Swift - the Apache Swift, that is, not the Apple one) on the other.

Re: Would an OS project be helpful in getting into top colle

Posted: Wed May 10, 2017 10:46 am
by Thomas
Hi Muazzam,

Find a professor who is actively working on an OS project. Read his papers and related papers. Submit patches to his project if available in github or so. A professor has lot of power in American and European universities. You do stand a good chance if the professor likes you and you meet the universities minimum criteria. In India ( not sure about Pakistan), it is pretty much black and white ( high grades => guaranteed admit ). If you think about it, that's the only fair way to go about in our culture. An American or a European system will be greatly misused!.

There are advantages to doing a degree at home though, It is surely a lot cheaper and some of the technical universities are very good!. There is also a big impact due to culture shock if you decide to move outside. As a self proclaimed Achayan, It was really difficult for me outside of my hometown -> Kottayam, India. :D. So if you are in India/Pakistan -> take time off to prepare for the competitive exams and get a really high score. There was something called subject GRE internationally which is along the same lines. ( General GRE is pretty lame and anyone can get a good score with little effort ).

--Thomas

Re: Would an OS project be helpful in getting into top colle

Posted: Wed May 10, 2017 10:59 am
by Muazzam
Thomas wrote:Hi Muazzam,

Find a professor who is actively working on an OS project. Read his papers and related papers. Submit patches to his project if available in github or so. A professor has lot of power in American and European universities. You do stand a good chance if the professor likes you and you meet the universities minimum criteria. In India ( not sure about Pakistan), it is pretty much black and white ( high grades => guaranteed admit ). If you think about it, that's the only fair way to go about in our culture. An American or a European system will be greatly misused!.

--Thomas
Well, it would be a tedious task but I'm willing to give it a try. :D

Are you from India? By the way, here in Pakistan, something like 10% of top universities place emphasis on grades; the rest on college entrance test.

Re: Would an OS project be helpful in getting into top colle

Posted: Wed May 10, 2017 11:01 am
by Geri
universitys usually having a strict systems to check who they can enroll - and strict requirement system for exams. it not really matters what you achieved, it only matters if you are fit into this requirements. it does not really matters what you achieved.