Posted: 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?
Sponsor Sponsor
Mackie
Posted: 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.
Tony
Posted: 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.
Posted: 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
HeavenAgain
Posted: 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.
raidercom
Posted: 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.
Prabhakar Ragde
Posted: 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).
Sponsor Sponsor
Tony
Posted: 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.
Posted: 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?
Prabhakar Ragde
Posted: 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"?
Tony
Posted: 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"
Posted: 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
A.J
Posted: 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
syntax_error
Posted: 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.