Hello, if you have any need, please feel free to consult us, this is my wechat: wx91due
ICS3U Final Project
The objective of this course is for you to be able to develop your problem solving skills. In particular, the skills required to develop meaningful programs. The best way to do this is to actually develop a meaningful program. Your final project is to develop a meaningful program of your choice. Each person is at a different stage in their programming ability. The final project you pick should be a reflection of your programming ability. Before you start working on your project you must submit a proposal. This is to prevent you from starting a project you can not finish, or taking on a task that is too easy, and would result in a low mark. Before you begin writing code for your project you must also develop a clear plan of what you plan to do, this will help prevent you from wasting time wondering what you should be doing. A good plan will allow you to work at a steady pace and avoid hitting too many dead ends. It will also ensure that you are using the most appropriate data structures and algorithms. Don’t be afraid to ask for help from me when you are planning your project. Some projects are very difficult to plan and you may need a nudge in the right direction.
Start thinking about what you would like to work on now. If you are at a loss, come see me and I will give you some ideas. Traditionally most people do games, but there is a wide variety of other programs you can do. The only absolute requirement of your final project is that it must be one you enjoy working on.
As with any real program you are not expected to re-invent the wheel yourself. It is reasonable to use code that you find on the Internet and get help from friends but it is very important that you make it clear in comments which sections you received help with and which sections you copied directly. Obviously, I don’t give you the same credit for other people’s work as for work you do yourself. Failure to give credit could result in a zero for your project mark not just the section that was not commented.
Evaluation
The following rubric will be used to evaluate the final project. An interview will be conducted for each project shortly after they are submitted.
The final FSE mark will include the final product (80%) and the process (20%) of the mark. During class you must be working on the FSE. If students do minimal work during class and most of the work at home that WILL affect your FSE mark. If you work on anything else during class (e.g. Chemistry homework, English essay, FSE for another class, it will affect your “process mark” and your FSE mark will be lower.
I will be making “daily observations” during the FSE and on “day 6” and “day 11” students will upload their “FSE Check 1” and “FSE Check 2” projects on Edsby.
|
Mark Range |
0 |
1-2 |
3-4 |
5 |
Score |
Use of Comments and choice of variable names |
Program listing has no comments |
Only some sections have comments or variables are poorly named |
Most sections have comments and variables are properly named |
Variables are properly named, useful comments are present at program header, all function headers, all variables and any complicated code |
|
Choice of data structures |
Program was not completed |
No lists, classes, files or string manipulation used. |
Data structures used but there are cases where better choices should have been made. |
Logical choices made to represent all data in the program. |
|
Mark Range |
0-2 |
3-4 |
5-7 |
8-10 |
|
Use of Graphics |
Graphics included is very basic in setup and design with only a few commands used |
Graphics show some originality and uses a variety of different graphic commands |
Graphics show individual originality and inventive design |
Graphics show both advanced design and individual creativity |
|
Use of functions |
Program has no functions |
functions present but parameters improperly used or many large blocks still need to be broken down |
functions used but a few sections of code need to be broken down. |
All code is broken down into reasonably sized functions that perform one logical task each. Only a few globalvariables are accessed from functions |
|
Fun (for games) or usefulness(other) |
Program was not completed |
Game is boring or program would never be used. |
Game is worth playing a few times or program basically accomplishes it’s goal |
Fun to play or program is actually worth using in a day-to-day setting |
|
Mark Range |
0-5 |
6-10 |
11-15 |
16-20 |
|
Complete |
Does not run or is very minimal |
Does not run or is very minimal |
Basic structure is there, but the game does not seem “polished” |
Attention to detail is obvious. Has intro, high score, many “little” features. |
|
Amount of work |
Project could be finished by an "average" student in a few days. |
"Average" student can finish only using class time. |
"Average" student can finish with full use of class time and some extra time. |
Project requires full use of class time and extra time to complete |
|
Inventive Problem Solving Techniques.-use of ifs,loops, lists,functions-solutionsthat require deepthinking. |
Program has limited use of programming concepts. |
Program has no or few advanced sections. |
Program has a few advanced solutions or many moderately advanced solutions. |
Program has frequent use of advanced algorithms. |
|