Cmpt 120 Assignment 4 Celta



Written Assignment 4  LESSON FROM THE CLASSROOM

Part A: Teaching strengths

CELTA is said to be a course primarily meant for those teachers who are goingto embark upon their teaching career. Generally young teachers tend to bemore flexible than the older ones. They are open to change themselves. Onthe other hand, experienced teachers often prefer to sticking to their oldmethods. Since I also had more than 20 twenty years of teaching experienceat my credit, it was quite difficult for me to unlearn some of the past methodsand relearn modern techniques and procedures to come up to the standardsthat CELTA has set for competent English language teachers. It was this pointthat Mr. Taufique, Head Trainer, impressed upon me during pre-CELTAinterview. He said to me, You are an experienced teacher and it will bedifficult for you to adapt yourself to the new methods and procedures. As Iwas determined to go for CELTA, I assured him that I would try my level best toshow the flexibility that was needed to be successful in the rigorous training.Now I feel fairly relieved that I demonstrated the amount of flexibility that wasneeded to sail through CELTA course. So I count this one of my strengths.Another point on which I feel I became gradually strong is the lesson planning.From my TP feedback, it is quite evident that most of the lesson were wellplanned and their execution in classroom, though not ideal, mostly achievedthe main and stage aims. Particularly, at elementary level, I showed a lot of progress. Generally, interaction pattern has also been satisfactory. In almostevery TP lesson, there was pair work and group work.While teaching at a university, most of my lectures were based onpresentations and as such my TTT was very high. Before I embarked uponCELTA I had never realized this fact though I always got a good reputation as ateacher. During the training, it was observed that this was the problem withevery trainee. The trainers and the observers launched a campaign to reduceTTT. Now I feel that not only I checked my TTT but also became a goodinvolver. Never ever before I had used games to stimulate the students. Neverever before I had done so much elicitation. ICQs and CCQs are some otherareas where we improved a lot. My first tutorial records in CELTA 5 show thatmostly I met the standard. My peers also made constructive criticism on everyTP lesson. In one of the TPs, one of my peers pointed out that 29 time I

This site applies only to CMPT 120 D1 (Burnaby) in Summer 2011. See the other instructors' pages for other sections.

  1. In a file , write a recursive version of the function. Your function should be:

    You can assume that and that . Under those conditions, your function should always return the same list as .

  2. In a file , write a recursive version of the selection sort algorithm. Your function should be:

    The recursive step should be to get the smallest item from into . Once this is done, you can recursively sort the list from to .

  3. In a file , write a recursive function that takes an unsigned binary value (as a string like ) and converts it to an integer (37 in the example).

    This can be done recursively for any length binary string. In the example (), notice that the first 5 characters of the string () convert to the integer 18, and the last character () becomes 1. Therefore, the whole string converts to 37 = 2×18 + 1.

    So, you should first convert the first n-1 bits to a decimal value, double it, and add the last bit.

One common component of video games is or . These are people or other entities in games that aren't controlled by the players. These range from the ghosts in Pac-Man to computer-controlled teammates in modern first-person shooters. (The term “NPC” is often reserved for non-opponents, but I'm using to refer to any computer-controlled entity in the game.)

NPCs seem to always receive the same criticism: they're stupid. Even Yahtzee thinks so (caution: he has quite the pottymouth). Most NPCs are prone to things like standing stupidly in a corner, and being generally useless. Basically, things don't seem to have progressed much since Pac-Man.

So, we're going to see what we can do about the problem. Working on a game like Halo 3 seems like a bit much, so we're going to start on the other end of the spectrum, with a Pac-Man-inspired game.

Your job in this assignment is to control the ghosts in a Pac-Man-like game. The game is quite different than the original Pac-Man. We will call our game .

For this assignment, your job is to create an algorithm and program to control the ghosts. Name your program .

Both CMPTman and the ghosts move around a grid of squares. CMPTman is trying to collect all of the dots; the ghosts are trying to catch CMPTman. Our game will eliminate many of the complications of Pac-Man: there will be no power pellets (so no eating ghosts), no bonus items, and no “lives” to lose (when CMPTman hits a ghost, the game is over). This is what the game will look like when played:

Our game will be turn-based instead of an action game. In the game, CMPTman will make two moves, and then each of the ghosts will take one.

You don't have to draw the board or worry about the gameplay: the provided module will do that for you. Your job is to design and implement an algorithm that will control the ghosts. The provided library will take care of CMPTman's moves. You simply have to provide the direction for each ghost to move for each turn.

The fundamental job of the ghosts is simple: get CMPTman!

Doing this “well” is quite hard and you aren't expected create a “perfect” solution (whatever that means). Start by getting the ghosts moving toward CMPTman and work up from there. Note that multiple ghosts can occupy the same square: they don't have to worry about running into each other.


A module “” has been provided: you'll have to download the file. Save this file in the same directory as your program and you should be able to import it.

A collection of hints has been provided.

Your code should be easy to read and understand.

When you submit, include a text file that describes what your code is doing. You can use this to give whatever kind of description you think is appropriate for the markers. This will be a chance to describe anything you think is clever, or that we might not notice. You could also describe known problems (like “the ghosts always gets stuck if…”).

When you're done, create a ZIP file containing the and files you created for this assignment and submit it with the submission server. Don't submit the cmptman module.

[Thanks to Deborah Lee for procrastinating by making nicer icons for the game.]


Leave a Reply

Your email address will not be published. Required fields are marked *