Computer Science Canada Compsci 101: what would you want covered? |
Author: | wtd [ Mon Apr 28, 2008 11:01 pm ] |
Post subject: | Compsci 101: what would you want covered? |
What kind of topics would you like to see covered in an introductory computer science class, and why? |
Author: | Mackie [ Mon Apr 28, 2008 11:15 pm ] |
Post subject: | RE:Compsci 101: what would you want covered? |
This is a great topic for me, I plan to teach everyone interested in computer science what I know. In a Computer Science Club, since the class was canceled... I think that the basic components of programming should be taught. Such as loops, variables, I/O, procedures, functions, etc.. The very basics of computers should be taught as well, like binary, how computers solve math, things along those line. People need a solid foundation in the fundamentals of computers, so they can understand what's actually going on when they program. Of course, proper naming conventions, clean code, and proper documentation should be taught. These are my opinions at least. I would like a lot more emphasis put on computer science. I was devastated when I found out I couldn't take it. Just one of 24 classes canceled this year at my school. Thank god for independent studies. I'd like to hear other people's opinions on this, as I'll be trying to teach people with the little knowledge I have. |
Author: | Tony [ Mon Apr 28, 2008 11:19 pm ] |
Post subject: | RE:Compsci 101: what would you want covered? |
I'd like to see the scientific approach to be explicitly covered in an introductory computer science class. The whole - make a hypothesis - set up an experiment - see what happens - adjust, repeat This should be done in a variety of scales, from "what does this line of code does?" to logical blocks (loops, functions, methods), to full algorithms. I think this might help a lot with development, debugging, and examining code. At low-level, a compile/runtime error is a result that does not match the hypothesis, but there's a procedure in place to study and debug (rather than cry "I don't understand"). At high-level it's a definitive way to study complexity and explore how pieces of code interact with each other. |
Author: | syntax_error [ Tue Apr 29, 2008 12:12 am ] |
Post subject: | RE:Compsci 101: what would you want covered? |
besides programming, I like how the IBs' have a very large hardware course added too. http://en.wikibooks.org/wiki/IB_Computer_Science ^ saves me time. |
Author: | jernst [ Tue Apr 29, 2008 6:51 am ] |
Post subject: | Re: Compsci 101: what would you want covered? |
My current favourite thing right now is algorithms, probably because I saw a talk at U of Toronto about them and how little we actually understand about them. So maybe some of these up and coming geniouses can figure it out ![]() |
Author: | HeavenAgain [ Tue Apr 29, 2008 7:52 am ] |
Post subject: | RE:Compsci 101: what would you want covered? |
I'll say programming design, like how to design a flexible program, so that people can write efficient and maintainable, and foresee some of the trouble they might run into before they actually go into the coding phrase. |
Author: | raidercom [ Tue Apr 29, 2008 8:18 am ] |
Post subject: | Re: Compsci 101: what would you want covered? |
I'm going with Mackie here. The basics, loops, decision structure, and CLEAN CODE. I hate having to help people whose code flows everywhere. |
Author: | Prabhakar Ragde [ Tue Apr 29, 2008 2:27 pm ] |
Post subject: | RE:Compsci 101: what would you want covered? |
"Loops, variables, methods"... there seems to be an implicit assumption that programming in an imperative OO language should be covered, which I would question. Tony: the scientific method is a way of understanding a complex reality that we can't accurately model. CS, at least at the intro level, is an artificial digital world that we can model. Where the scientific method comes in is for parts of it that we can't model (large systems, networks). |
Author: | Tony [ Tue Apr 29, 2008 3:36 pm ] |
Post subject: | RE:Compsci 101: what would you want covered? |
Well if it's an introductory course, then there's no guarantee that the students are able to accurately model what we can. And at that point, I would like a system to be in place that will encourage them to try again, instead of not being able to "get" that "one true solution" on their first try. |
Author: | Sean [ Tue Apr 29, 2008 3:43 pm ] |
Post subject: | RE:Compsci 101: what would you want covered? |
Mackie, we still arranging this club, because some people still want to learn Turing and that. Hopefully we could get VB put on so they can learn the cirriculum? |
Author: | Prabhakar Ragde [ Tue Apr 29, 2008 4:25 pm ] |
Post subject: | RE:Compsci 101: what would you want covered? |
Tony: the point is to give them something they can accurately model (hint: Java is not it). And, you're right, they need to be able to figure out what went wrong, but that should not involve experimenting, but reasoning about what they did versus what they thought they did. Sean: is the point to learn computer science or to learn "the curriculum"? |
Author: | Tony [ Tue Apr 29, 2008 5:11 pm ] |
Post subject: | RE:Compsci 101: what would you want covered? |
I change my vote in favour of "reasoning about what they did versus what they thought they did" ![]() |
Author: | btiffin [ Tue May 06, 2008 8:38 pm ] |
Post subject: | Re: Compsci 101: what would you want covered? |
This is a facetious answer; Boolean Philosophy Scientific Principle Binary Arithmetics John von Neumann Alan Turing Donald Knuth Assembler Forth C Lisp Icon Prolog All the first day. Second class, start in with ASIC chip design and C++ optimizing compiler writing. Serious answer; Boolean Philosophy Scientific Principle Binary Arithmetic John von Neumann Alan Turing Donald Knuth Assembler Forth C Lisp Icon Prolog and take the whole year. Cheers |
Author: | A.J [ Tue May 06, 2008 8:57 pm ] |
Post subject: | Re: Compsci 101: what would you want covered? |
I say that you should start off with the basics, BUT you should pick it up a notch midway into something more complex (like recursive algorithms and DP) by first starting with basic examples, and working your way up to the harder problems. best way to learn |
Author: | syntax_error [ Tue May 06, 2008 9:12 pm ] |
Post subject: | Re: Compsci 101: what would you want covered? |
btiffin @ Tue May 06, 2008 8:38 pm wrote: This is a facetious answer;
Boolean Philosophy Scientific Principle Binary Arithmetics John von Neumann Alan Turing Donald Knuth Assembler Forth C Lisp Icon Prolog All the first day. Second class, start in with ASIC chip design and C++ optimizing compiler writing. Serious answer; Boolean Philosophy Scientific Principle Binary Arithmetic John von Neumann Alan Turing Donald Knuth Assembler Forth C Lisp Icon Prolog and take the whole year. Cheers Where do I take such a course? and "Boolean Philosophy" LOL got to love that. |
Author: | btiffin [ Tue May 06, 2008 9:34 pm ] | ||
Post subject: | Re: Compsci 101: what would you want covered? | ||
Sorry, I forgot the "and why" part
And note; like chess, learning the rules does not necessarily mean mastery. Leave that for experience and growing wisdom Cheers |
Author: | btiffin [ Tue May 06, 2008 9:44 pm ] |
Post subject: | Re: Compsci 101: what would you want covered? |
syntax_error @ Tue May 06, 2008 9:12 pm wrote: Where do I take such a course? and "Boolean Philosophy" LOL got to love that. ![]() Take Philosophy 101 at Waterloo (umm, in the early '80s at least), and you will know where that expression comes from. ![]() Cheers |
Author: | CodeMonkey2000 [ Tue May 06, 2008 10:46 pm ] |
Post subject: | RE:Compsci 101: what would you want covered? |
btiffin that looks pretty ambitious :S I would probably start with teaching the class some basic high level language, then go into algorithm design and analysis (big O notation, DP, recursion, all that fun stuff). From there the course will be self driven, and less structured, focusing on what individual kids want out of the course. Some kids might want to go on with algorithms and mabey prep up for contests, while others might be more into game development and graphics. |
Author: | michaelp [ Wed May 21, 2008 4:05 pm ] |
Post subject: | RE:Compsci 101: what would you want covered? |
I think that in a course, before any actual Computer Science is taught, or at least while it is taught, the basics of computers and their hardware should be taught, so that people know what is going on behind the scenes of their code. Also, the language should be discussed and how it works. (For example, how the C++ compiling and linking process works) And for the basics of programming, loops, if statements, control flow, etc. |
Author: | wtd [ Fri May 23, 2008 1:08 am ] |
Post subject: | RE:Compsci 101: what would you want covered? |
For those who haven't gathered as much from my tutorials, I like to emphasize code organization, so I'd rather see functions handled before other control structures. |