On Wed, 26 Oct 2005, Beni Cherniavsky wrote: > On Sun, 2005-10-23 at 01:23 +0200, guy keren wrote: > > > this course focuses about methodologies and good practices, and a lot of > > actual programming, about extra self-studying, and personal pace. i skip > > all the technicalities of C, and go directly to the fun stuff. thus, we > > learn only what's needed to write specific games. if the kids will want to > > learn more later in order to write more things - i'll encourage them to do > >so. > > > The plan & reference adhere to this "only what's needed" philosophy. > But the book seems to deviate.Will they use packed arrays? Linked lists? > Undirected trees?Balanced trees? I'm afraid that the book transmits a > bit of "professor stuff, I don't see how it can help me" feeling. > I'll write detailed comments on it later.
ok, i see i didn't explain this. the course is split into two parallel tracks. one track is the frontal lessons, as detailed in the "study plan" document. in this, we have a bi-weekly "lecture+practice" meeting followed by a bi-weekly practice-only meeting. the 2nd track, is this data structures book, which is a self-study book, meant to be used by pupils who _want_ to learn more things. those who choose to read it, will read chapters 1 and 2, and then follow whicever chapters they will want, in whichever order they will want (except where there's some internal ordering - you need to learn about trees before you learn about mini-max trees - but you can learn about graphs before you learn about trees. for each chapter, i am trying to show how it can be used in writing a game. mini-max trees go for checkers, reversy and the like. graphs are useful for writing labyrinth-like games (think of the anceint "hobbit" game, if you ever played it. think of an LP MUD if you want). and so on. so there's nothing professoral there - each chapter is immediately followed by a practical (game) example of the use of the material in it. finally, i assume that pupils will start reading this mini-book only 2-3 month after we begin the 1st track - because by then they'll have enough basic knowledge in order to understand this mini-book. > <> * למה בחרת דווקא בנושאים האלו לקורס הזה? > < > > because i wanted the course to be fun, and kids love games - so writing > > games is the theme of the course. it is much better then writing programs > > for the sake of learning a programming language and for the sake of > > learning programming abstractions with no meaninig and no motivation, > > that's the general rule in programming courses. > > > But writing effecient code is not fun -- not until you have been exposed > to computer internals for a lot of time ;-) not realy. when you write a game in which the computer needs several minutes to play a move - this is when you have no fun. you write the game in order to play it - and you want playing it to be as quick as possible. >.If I were beginning kid, > an astract notion of "memory/CPU complexity" would completely fail to > impress me. can you explain why? can you think how i can pass the message of why they want to understand this, in a clearer manner? > I think that all talk of performance must be delayed until > they actually run something too heavy -- than you can teach them "this > is how you make it fast" and they will *feel* the improvement. but see, you can't just "make it fast" - replacing the data structures and the algorithms is not about "a small optimization". it's not like when you have a 10,000K lines program, and only 200 of it form the bottle-neck and you re-write them. on the first year, a 500 lines program is considered huge, and having to rewrite can take the wind out of people. > http://users.actcom.co.il/~choo/python/what.html > > This answers most questions but I still have one: > > Where does the book come in?It's obviously unsuitable for reading > right from the beginning.It skips the question what are sequences / > mappings / trees *good for*, assumes basic Python knowledge and plunges > into advanced data structures. it does NOT skip the question of what things are good for - did you actually read it? please remember that this book is only half-written. each chapter concludes by an example of a game that uses the material in this example. regarding lists and arrays - after 2-3 month of the frontal course, they'll know what these are good for. regarding the other structures - there are/will be examples for each of them. > So what is your plan -- at what point do you wantstudents to start > reading it andhow should it relate to the lessons outlined in the plan? it does not relate to the lessons - it's a completely seperate track, that will allow each pupils to work at their preffered pace. you're only confused because i forgot to write here (on the mailing list) what this is about (or perhaps i wrote something about it on my first post? or only explained it during the python meeting? i don't remember...). -- guy "For world domination - press 1, or dial 0, and please hold, for the creator." -- nob o. dy
