Comments on: Programming your way out of too much homework http://compsci.ca/blog/programming-your-way-out-of-too-much-homework/ Programming, Education, Computer Science Wed, 30 Sep 2020 08:31:44 -0400 http://wordpress.org/?v=2.8.4 hourly 1 By: Nick http://compsci.ca/blog/programming-your-way-out-of-too-much-homework/comment-page-1/#comment-110393 Nick Wed, 07 Jan 2009 07:52:47 +0000 http://compsci.ca/blog/programming-your-way-out-of-too-much-homework/#comment-110393 err, I forgot a ,500 in the repeat function err, I forgot a ,500 in the repeat function

]]>
By: Nick http://compsci.ca/blog/programming-your-way-out-of-too-much-homework/comment-page-1/#comment-110392 Nick Wed, 07 Jan 2009 07:52:19 +0000 http://compsci.ca/blog/programming-your-way-out-of-too-much-homework/#comment-110392 "By the way, Ruby does that in a single line irb(main):001:0> 500.times { puts "I will not throw paper airplanes in class" }" Turing: <code>put repeat ("I will not throw paper airplanes in class\n")</code> “By the way, Ruby does that in a single line
irb(main):001:0> 500.times { puts “I will not throw paper airplanes in class” }”

Turing:
put repeat ("I will not throw paper airplanes in class\n")

]]>
By: Tony http://compsci.ca/blog/programming-your-way-out-of-too-much-homework/comment-page-1/#comment-15292 Tony Wed, 25 Apr 2007 04:56:14 +0000 http://compsci.ca/blog/programming-your-way-out-of-too-much-homework/#comment-15292 Hey Reilly, welcome to the blog! It's really cool how you've gotten into Computer Science just from the TI manual. It really shows that sometimes there just needs to be the right opportunity to spark the interest! Hey Reilly, welcome to the blog!

It’s really cool how you’ve gotten into Computer Science just from the TI manual. It really shows that sometimes there just needs to be the right opportunity to spark the interest!

]]>
By: Reilly http://compsci.ca/blog/programming-your-way-out-of-too-much-homework/comment-page-1/#comment-14958 Reilly Tue, 24 Apr 2007 07:14:42 +0000 http://compsci.ca/blog/programming-your-way-out-of-too-much-homework/#comment-14958 Wow this article really hit the spot for me. Four years ago now, during my final years at Australian high school, all maths students were required to buy a TI-83 (original). The text books contained (in print) TI-83 BASIC code for every type of maths problem. (Most of the time i didn't read the paragraphs of text or look at the worked examples, i would just read the BASIC code and quickly gain an understanding.) We were allowed to use our TI-83 laden with programs in exams. The public education system obviously had the right idea. However, my teachers were ignorant and totally missed the point. They didn't understand or promote the use of the TI-83 much beyond graphing. With no prior knowledge in coding i got my first lessons from the TI-83 manual for its version of BASIC. I actively used and improved the maths code. Then made BASIC games. Then went on to teach myself z80-risc assembly to make the cool Tetris-like games everyone played. Then after school i went on to do a bach. in computer science. And i like Python over Ruby. :P Of the ~50 advanced maths students in my year (of ~100 students), only 3 (me included) could write or modify TI-83 BASIC programs. What happened to the ideals of the 80s where coding should be taught in primary school? I remember being amused when i found an old book at the local library on z80 assembly coding: It was printed in size 18 font and elaborately illustrated with cute colourful robots moving bits of paper with numbers on them in and out of pigeon-hole boxes. It resembled a Mr Men book. (It was first published when the z80 was a common early-PC processor, but i dont recall the exact date.) The problem is computers became too complex and powerful. Teenagers of the Commodore 64 era have a much better understanding of computers than the teenagers of My Space. The simple, limited, self-contained TI-83 was my Commodore 64. It provided a perfect learning base for complex computer systems (thanks ticalc.org). It taught me how a programming language, machine code, RAM, ROM, display-buffer (LCD), input (keys) and CPU all fit together. All of which are buried too deep under a nice GUI in modern computers. PS: I just became a new fan of your blog. Wow this article really hit the spot for me.

Four years ago now, during my final years at Australian high school, all maths students were required to buy a TI-83 (original). The text books contained (in print) TI-83 BASIC code for every type of maths problem. (Most of the time i didn’t read the paragraphs of text or look at the worked examples, i would just read the BASIC code and quickly gain an understanding.) We were allowed to use our TI-83 laden with programs in exams. The public education system obviously had the right idea.

However, my teachers were ignorant and totally missed the point. They didn’t understand or promote the use of the TI-83 much beyond graphing.

With no prior knowledge in coding i got my first lessons from the TI-83 manual for its version of BASIC. I actively used and improved the maths code. Then made BASIC games. Then went on to teach myself z80-risc assembly to make the cool Tetris-like games everyone played. Then after school i went on to do a bach. in computer science. And i like Python over Ruby. :P

Of the ~50 advanced maths students in my year (of ~100 students), only 3 (me included) could write or modify TI-83 BASIC programs. What happened to the ideals of the 80s where coding should be taught in primary school? I remember being amused when i found an old book at the local library on z80 assembly coding: It was printed in size 18 font and elaborately illustrated with cute colourful robots moving bits of paper with numbers on them in and out of pigeon-hole boxes. It resembled a Mr Men book. (It was first published when the z80 was a common early-PC processor, but i dont recall the exact date.)

The problem is computers became too complex and powerful. Teenagers of the Commodore 64 era have a much better understanding of computers than the teenagers of My Space. The simple, limited, self-contained TI-83 was my Commodore 64. It provided a perfect learning base for complex computer systems (thanks ticalc.org). It taught me how a programming language, machine code, RAM, ROM, display-buffer (LCD), input (keys) and CPU all fit together. All of which are buried too deep under a nice GUI in modern computers.

PS: I just became a new fan of your blog.

]]>
By: Clayton http://compsci.ca/blog/programming-your-way-out-of-too-much-homework/comment-page-1/#comment-3009 Clayton Fri, 02 Mar 2007 20:53:54 +0000 http://compsci.ca/blog/programming-your-way-out-of-too-much-homework/#comment-3009 I can see exactly where you're coming from Tony, and I agree. (Just to note, I have been known to whip up a couple of programs to help with the massive amount of homework I sometimes get). However, there's got to be some way to help those other students to keep up, even if we haven't found it yet. I can see exactly where you’re coming from Tony, and I agree. (Just to note, I have been known to whip up a couple of programs to help with the massive amount of homework I sometimes get). However, there’s got to be some way to help those other students to keep up, even if we haven’t found it yet.

]]>
By: Tony http://compsci.ca/blog/programming-your-way-out-of-too-much-homework/comment-page-1/#comment-3008 Tony Fri, 02 Mar 2007 20:26:23 +0000 http://compsci.ca/blog/programming-your-way-out-of-too-much-homework/#comment-3008 Well it's not like those students are any more at a disadvantage as if there were a few naturally Math inclined students in class. Alternatively, computer terminals are much more accessible and easier to program, alas not as portable. A persistent problem with teaching is the natural distribution of students making up large classes. One would try to bias towards the middle, to accommodate the most students, but there will <strong>always</strong> remain a few struggling with the difficult material, and a few that will be bored with the <em>same</em> easy material. So while some would need that extra practice, others simply do not. There's no way around this divide (other than having much smaller class sizes, but that is often not feasible). Programming is not for everyone, but it should bring some sanity into crunch work for those neglected student groups. Well it’s not like those students are any more at a disadvantage as if there were a few naturally Math inclined students in class. Alternatively, computer terminals are much more accessible and easier to program, alas not as portable.

A persistent problem with teaching is the natural distribution of students making up large classes. One would try to bias towards the middle, to accommodate the most students, but there will always remain a few struggling with the difficult material, and a few that will be bored with the same easy material. So while some would need that extra practice, others simply do not. There’s no way around this divide (other than having much smaller class sizes, but that is often not feasible). Programming is not for everyone, but it should bring some sanity into crunch work for those neglected student groups.

]]>
By: Clayton http://compsci.ca/blog/programming-your-way-out-of-too-much-homework/comment-page-1/#comment-3005 Clayton Fri, 02 Mar 2007 19:39:31 +0000 http://compsci.ca/blog/programming-your-way-out-of-too-much-homework/#comment-3005 @Tony: "programming one’s calculator is that other way. (The other) Kyle seems to agree that teachers should allow students to explore this other avenue of a learning approach." - I believe that as well, but with schools becoming more and more tight with their materials, it's very hard to get ahold of a TI-83 calculator, my school sure doesn't lend out those calculators. Sure students could buy one, but that's still a lot of money to invest into a calculator. My point is this, I'm all for letting students program their calculators and do their work that way, but for the students that don't have a calculator to program, it's not fair to them. @Tony: “programming one’s calculator is that other way. (The other) Kyle seems to agree that teachers should allow students to explore this other avenue of a learning approach.” – I believe that as well, but with schools becoming more and more tight with their materials, it’s very hard to get ahold of a TI-83 calculator, my school sure doesn’t lend out those calculators. Sure students could buy one, but that’s still a lot of money to invest into a calculator. My point is this, I’m all for letting students program their calculators and do their work that way, but for the students that don’t have a calculator to program, it’s not fair to them.

]]>
By: Tony http://compsci.ca/blog/programming-your-way-out-of-too-much-homework/comment-page-1/#comment-2999 Tony Fri, 02 Mar 2007 16:24:04 +0000 http://compsci.ca/blog/programming-your-way-out-of-too-much-homework/#comment-2999 @Kyle - I think you should learn Ruby as well ;) @Clayton - one doesn't really need the fancy silver edition version, a basic TI 83 graphing calculator will do (it just has less flash memory) and a used one goes for about 1/4 of that price. Alternatively, I remember that one of my high schools had a bucket of those TI 83 that were given out in Math class during some "graphing functions" week. <em>"Denying other students the ability to learn in another way isn’t right"</em> - programming one's calculator is that other way. (The other) Kyle seems to agree that teachers should allow students to explore this other avenue of a learning approach. @(the other) Kyle - you are absolutely right, practice establishes a solid foundation for a particular concept. Though back in high school I recall certain types of "problems" were assigned in much larger quantities, than needed to hammer in that point. Figuring out how to program a calculator just formed a path of least resistance. The example I used was the quadratic equation - once you figure out your A,B,Cs of the problem, additional practice will only increase the speed at which you type out the entire equation into the basic calculator (high school kids don't do square roots in their head). The Sudoku example is different - while one might understand the rules to systematically fill out the grid (and do so in a single line of Perl), the goal is to train your brain to recognize patterns and hold numbers in your memory, not necessarily completing the puzzle. And yes, everything will always end up on a test. Welcome to University with final exams accounting for 80% of your grade (sometimes). @Kyle – I think you should learn Ruby as well ;)

@Clayton – one doesn’t really need the fancy silver edition version, a basic TI 83 graphing calculator will do (it just has less flash memory) and a used one goes for about 1/4 of that price. Alternatively, I remember that one of my high schools had a bucket of those TI 83 that were given out in Math class during some “graphing functions” week.

“Denying other students the ability to learn in another way isn’t right” – programming one’s calculator is that other way. (The other) Kyle seems to agree that teachers should allow students to explore this other avenue of a learning approach.

@(the other) Kyle – you are absolutely right, practice establishes a solid foundation for a particular concept. Though back in high school I recall certain types of “problems” were assigned in much larger quantities, than needed to hammer in that point. Figuring out how to program a calculator just formed a path of least resistance.

The example I used was the quadratic equation – once you figure out your A,B,Cs of the problem, additional practice will only increase the speed at which you type out the entire equation into the basic calculator (high school kids don’t do square roots in their head). The Sudoku example is different – while one might understand the rules to systematically fill out the grid (and do so in a single line of Perl), the goal is to train your brain to recognize patterns and hold numbers in your memory, not necessarily completing the puzzle.

And yes, everything will always end up on a test. Welcome to University with final exams accounting for 80% of your grade (sometimes).

]]>
By: Kyle Schouviller http://compsci.ca/blog/programming-your-way-out-of-too-much-homework/comment-page-1/#comment-2971 Kyle Schouviller Fri, 02 Mar 2007 14:21:31 +0000 http://compsci.ca/blog/programming-your-way-out-of-too-much-homework/#comment-2971 I'm guilty of having done this, though it was for high school physics and I used Delphi. I think it's important that teachers let students explore this avenue if they are able to. It certainly doesn't hinder other students, and it is more productive for the student who is able to. Perhaps the teacher could even encourage the student to lead a lesson on programming something simple into the calculator so other students have an entry point to the topic if it interests them. I know I'd have probably picked it up at the time if I had someone to introduce me to the topic. However, I do understand the value of repetition. It really helps with retention. I could easily program something to solve math equations if I'm looking at a book while I'm doing it. Usually the nature of these problems is plugging a few variables into an equation and solving it, which is easy, but helps to build up fundamental skills. Look at Sudoku for example. It's not a math problem, but you're given some of the variables and you have to figure out the rest of the answers using the rules given. After doing it enough times, you're likely to spot patterns and be able to solve the puzzles even faster. However, if you just write a program to solve a Sudoku puzzle, you're not necessarily learning the material. You may know the rules behind the problem, but not the intricacies involved in solving it quickly and efficiently, or even applying that knowledge to other problems. Don't get me wrong though, I think programming is a great way for students who are able and interested to apply their learning. It is a good way to help in understanding, and if they really don't learn the material, it'll show up on the test. I’m guilty of having done this, though it was for high school physics and I used Delphi.

I think it’s important that teachers let students explore this avenue if they are able to. It certainly doesn’t hinder other students, and it is more productive for the student who is able to. Perhaps the teacher could even encourage the student to lead a lesson on programming something simple into the calculator so other students have an entry point to the topic if it interests them. I know I’d have probably picked it up at the time if I had someone to introduce me to the topic.

However, I do understand the value of repetition. It really helps with retention. I could easily program something to solve math equations if I’m looking at a book while I’m doing it. Usually the nature of these problems is plugging a few variables into an equation and solving it, which is easy, but helps to build up fundamental skills.

Look at Sudoku for example. It’s not a math problem, but you’re given some of the variables and you have to figure out the rest of the answers using the rules given. After doing it enough times, you’re likely to spot patterns and be able to solve the puzzles even faster. However, if you just write a program to solve a Sudoku puzzle, you’re not necessarily learning the material. You may know the rules behind the problem, but not the intricacies involved in solving it quickly and efficiently, or even applying that knowledge to other problems.

Don’t get me wrong though, I think programming is a great way for students who are able and interested to apply their learning. It is a good way to help in understanding, and if they really don’t learn the material, it’ll show up on the test.

]]>
By: Clayton http://compsci.ca/blog/programming-your-way-out-of-too-much-homework/comment-page-1/#comment-2938 Clayton Fri, 02 Mar 2007 13:02:30 +0000 http://compsci.ca/blog/programming-your-way-out-of-too-much-homework/#comment-2938 I agree very much here with you Tony. However, I don't think the idea that some students able to afford their ~$200 calculator and being able to punch code in to solve their problems is fair to other students that either a) can't afford a "fancy TI 83 plus silver edition" graphing calculator or b) don't have the know how or resources to learn enough to actually program their calculator to do the work for them. Denying other students the ability to learn in another way isn't right if you ask me. I agree very much here with you Tony. However, I don’t think the idea that some students able to afford their ~$200 calculator and being able to punch code in to solve their problems is fair to other students that either a) can’t afford a “fancy TI 83 plus silver edition” graphing calculator or b) don’t have the know how or resources to learn enough to actually program their calculator to do the work for them. Denying other students the ability to learn in another way isn’t right if you ask me.

]]>