Computer Science is over. Here is Mason's comprehensive review of the course!
Computer Science 1 was useful. In the beginning the tutorial programs were effective for complete beginners, and the flexibility of course material in the end was useful for more experienced programmers. However, there were of course some issues that can and should be resolved to make this course a better experience for future students. I will start from the beginning. Scratch, the first teaching program we used, was great if a bit annoying. It taught the basic building blocks of programming without requiring the student to actually learn any syntax. The interface was very navigable and each part of the code had an easy to recognize purpose. For someone who already knew these basic concepts, it was a little boring, but nevertheless it was a useful review. I highly recommend that this program is used again next year.
Moving on to the problem child of the bunch, Alice. I personally hated Alice. It didn't seem to really have a place in the curriculum. It was a teaching program, but its syntax was weird and tried to combine real syntax with the drag-and-drop method of scratch. This was a horrible mix and it made creating programs frustrating and difficult. Further more, it didn't actually let you do much more than Scratch did. Sure, it had the "3-D worlds" but these were very limited and seemed disappointing after putting in all the effort of coding them ("Whew, that's done. Now, let's see what I've accomplished! ...What? It only made the pirate move 2 steps forward? ARGH!!!!!") I see that it was intended to teach more advanced coding concepts, but the only way to do that is with real code, not some strange Frankenstein mixture of two methods. I would suggest that instead of Alice students next year learn some basic, but real, language such as Python or Visual Basic. These are simple enough for someone fresh out of Scratch to pick up while being potent enough to do something worthwhile.
I think the next major thing we did after Alice was start Java. Java is a great programming language. However, it seemed to me that the previous instruction in the course did little to prepare a completely new student for Java. There is a huge leap between Scratch and a real language. Syntax suddenly turns from friendly, easily understood terms into scary symbols that have no business doing what they seem to be doing. This is another reason why a simpler programming language should come first. It shows you what real syntax and coding is going to be like without being too scary. It seemed to me that once people got used to the coding it was a very good experience for everyone. Students got to actually do something cooler than a simple program that would print "Hello World." Or move a pirate slightly.
Once the main Java labs were finished I chose to move on to other languages, wanting to see something I had never done before. The sudden lack of direction in the class was a bit startling. The transition from clear-cut labs to "eh, do whatever you want to learn about" was probably a bit scary for some people which is why they stuck with Java. This is a bit sad because I think it is better for people to learn a bunch of different things. A better way to do it might be giving a small presentation on some suggested courses of action, then requiring everyone to do one or two labs in each language. They would afterwards chose whichever one they liked the best.
The situation after this stayed the same pretty much. I went ahead with Python, and in the end did some C# in VisualStudio. It was nice to get a peek at everything. Overall, It was a good class in which I learned a lot. I hope it served as a good introductory course for other people, and that the suggestions I gave here can help to make this class even better. Good night and good luck.
Download DomiNations Hack free Here:
ReplyDeletehttp://www.soulgaminghacks.com/dragon-mania-legends-hack/
http://www.soulgaminghacks.com/dragon-mania-legends-hack/
http://www.soulgaminghacks.com/dragon-mania-legends-hack/