Marks, AI research assignment

Many of you have still not handed in the AI research assignment. For those of you who handed in, very well done overall, I was impressed with the depth of answers. Some of you did not really address the ethical implications and so you lost some marks there.

Block C-AI research


Final assignment, Pygame

Well we have finally made it to the final assignment. I am really looking forward to what you will create.

Main Requirements:

  • must have an intro screen, that then goes to an instruction screen, that then goes to the main game (see the instructions program we created a few classes ago).
  • Intro screen requirements:
    • Must have a title (in text or graphic) for your game
    • Must have graphics, bitmap or computer drawn
    • Must include a way to move to next screen, and instructions to do so, eg. (hit enter to continue, click here to play)
    • Must display the current high score and the user
    • Must play a short background music when loading (5-10 secs)
  • Instructions screen requirements:
    • Must take in a username
    • Must explain the controls of the game, and how to gain points
    • Must include a way to move to the game screen, and instructions to do so, eg. (hit enter to continue, click here to play)
  • Game requirements:
    • must have a bitmap image sprite
    • must have a computer drawn sprite
    • must have sound effects in the main game
    • must have more than 1 level
    • when the game ends, display a game over message somewhere on the screen, then pause 2 secs before ending.

Ideas for games could be:

  • tic tac toe
  • typing game
  • space invaders
  • maze runner
  • frogger
  • pacman
  • road trip car game

If you are struggling to come up with a game, then modify the bullets code to make a space invaders type of game. You must have the following:

  • change the player to a bitmap sprite spaceship, make sure your image is small enough
  • create different kinds of enemies, some bitmap sprites, some ellipses, change sizes and colors of blocks
  • have the enemies move down the screen, then respawn at the top when they reach the bottom.
  • track if the enemy collides with the spaceship, then the game ends
  • create a new level where the enemies move quicker, and make more of them

Program comments:

I won’t require you to include psuedocode for this assignment, but you will need to include detailed comments in your program. A general guideline is that you provide 1 comment for every 3 lines of code in your program. Your comments should explain what the lines below are doing so that if someone else wanted to modify/add to to your program, they could understand what you are doing.

Due Date:

Your final assignment is due Wed Jun 14. Which is 10 classes to work on this assignment.

Looking at a couple of Pygame examples

OK, so last class, we looked at the bullets example, think of how you could possibly modify this game to your classic space invaders game:

In this example, there is a player who is enclosed by walls. Again, imagine how you could modify this to a maze game, or even a pacman game:

Finally, this is your centipede/snake type game. Think about how you could create a game where there would be more than 1 snake, and you can maybe shoot bullets to fire at another snake:

For Wednesday’s class, think about a possible final game that you would like to create as the end of the unit assignment. Try to be creative. One Wednesday, I will give you requirements of your assignment. If you are stuck for a final assignment, I will give you some parameters for a simple game that you can modify.

Adding Text and getting User input in Pygame

Today we will look at adding text to the pygame screen, and examples of instruction screens. Then we will look at taking user input in pygame. Finally, we will look at a centipede example game, similar to a game that you could extend.

Adding Text, copy and paste the following into your wingIDE:

Adding Instructions, and getting user input, copy and paste the following into your wingIDE:

Artificial Intelligence Research Assignment

Your assignment is to research 1 artificial intelligence system and to create a short 1-page report about the system. You can use MS Word or Google Docs to create your report.

If you are not sure what kind of AI system to research, here are some ideas:

  • expert systems, self-driving cars, natural language processing, speech-recognition, hand-writing recognition, facial-recognition, pathing, deep neural networks


For your AI system chosen, please ensure you have answered the following questions:

Explain in detail what the system is.
Explain how the system is “intelligent”, ie. how does it learn?
What disciplines (eg. computer science, biology, sociology) are applied to the design of the system?
Explain the evolution of the system, who started it and how did it evolve to where it is today.
Provide at least 2 examples of the system. Include pictures if appropriate. What artificial intelligence principles are applied to make your example “intelligent”, ie. how does it learn? Explain details of how your example has achieved or not achieved its goals that the creators have set for it. What modifications are forseen to make your example function better.
What ethical implications are there for the system? Could it result in the Terminator scenario, or is it taking jobs away from humans, or is it an invasion of privacy, etc…
Please include hyperlink references to where you conducted your research. Please include a brief 1-sentence description of each resource used.


When done, please submit your 1-page report to the server. The assignment is due by the end of the class on Wed May 10.