Use a function and a parameter to draw a picture
- use a function
- the function must include at least 1 parameter
- call the function
- the function must draw a shape
It is very rare that I recommend anyone skip from the Intro class, the easiest CS class, to SUPA, the hardest CS class , without the foundation that we build in Computer Science II.
The path to skipping
If you really want to try to skip CS II, the path would be to complete the online component of CS II curriculum during the school year and to then sit down with me for an interview. If I am satisfied that you are ready to skip CS II, I will then make the recommendation.
Much, though not all, of the CS II curriculum is online and so can be completed at a student’s convenience.
Please know, that most of the students who have followed this path and who found the Intro to CS class too easy and who then skipped into SUPA have ended up regretting this and, more often than not, they have had to drop the SUPA class.
Ask yourself– Would you skip Calculus I and instead jump right to Calculus II?
And it’s not much different here; while it has been done, for the most part it has only been successfully pulled off by students who are “hardcore” programmers and who have voluminous experience coding outside the classroom. Kids who have made their own apps and learned how to do real programming on their own.
Now, if that describes you and you have made real apps that you can show, then maybe this is the right move, but otherwise, this jump almost never is.
So, what students should do is this – Have your guidance counsellor sign you up for CS II for next year. If you complete the online part of the CS II curriculum, by June, then we can sit down and I will have an assessment of your readiness to make this radical jump.
Normally we dedicate an entire quarter to a project. We will instead be dedicating about 2/3 of the quarter.
The parameters are similar but not quite so grand in scope. To get an A, you must create a complex web product . This could be a single interactive application or multiple pages . Simple ideas to get to that point include:
Ways to add complexity:
Everybody must use git and have at least 20 commits over the span of the rest of the quarter.
Examples of finished product and grades:
Mr Morris, I just want to pass.
Objective: To create a complex, industry level, project that builds off the skills we learned this year. You must learn at least one new technology . Your grade will be based on the level of complexity of your final project. I have listed some examples of technologies to learn and rated their general complexity. Ultimately, complexity will be evaluated by me and you are welcome to ask for feedback on where the complexity of your project will land you.
Note: I am not familiar with many of the technologies below. The purpose here is for you to learn something, yourself, as web developers are often forced to do in the real world. If you think you will need help, I suggest going with Phaser because most students will do it and you can help each other . I have limited knowledge of Phaser.
Phaser ( The most popular 4th quarter project topic is to create phaser games housed in a bootstrap based website). There is a great range in complexity that using Phaser allows for
Example Projects, probable complexity and grade.
The table below lists technologies you can use and provides a general guideline for its complexity and likely grade outcome. If something is classified as an “add-on,” then it is a way to increase complexity but should not, in and of itself, be considered complex enough on its own.
|Phaser (meh)||Edits one of the pre-built games on phaser.io, nothing much new||very low||C|
|Phaser (moderate)||Creates one new game, but it is relatively simple (asteroids) and submits 1 page website that uses bootstrap||Moderate||B-|
|Phaser (good)||Creates completely new complex game (maybe uses physics or other unique coding)||moderate-high||B+/ A|
|Node.js/Gulp||Learns how to use nodejs and employs Gulp to improve workflow||Moderate||add on|
|Remote git||Learns how to push and pull from remote git repo on github||low||add-on|
|Foundation||Learn a bootstrap alternative and create several web pages||moderately low||C+|
|Angular||Creates a multi page website with the angular .js framework||high||B/A|
|Mathjax||Learns how to integrate the Mathjax math library for rendering professional looking mathematics||low||add-on|
|Vim||Consistently edits with Vim . I will quiz you on how to use VIM and I will expect to see you editing with VIM during class||moderate||add on|
List of other utitlites and libraries to use:
Notes: these can be combined to add complexity and professionalism. For instance, you can create a multipage website based on Vue and some of the pages can house phaser games that you create. This has the potential of an A+, assuming the Phaser games are original.
Not comfortable with Programming? Here is a multi technology example that will get a B:
This is an example that will get people who are not very comfortable with programming into the “B” range: Learn how to use Foundation, or another bootstrap alternative, and also how to integrate Mathjax to display math equations. You can create a multi page math website full of equations. You could add using remote git or Gulp to get the grade up even a bit more.
http://phaser.io/learn/ ( Where you should start)
I have been asked “How many examples should I have”?
And there is no one answer. You should convey the “major important” aspects. Absolute bare minimum is 5 code examples but there is no need to kill us with redundant code that only has small changes.
$ git config --global user.name "John Doe"
$ git config --global user.email email@example.com
Create a new text file and add the code below. Then rename the file so that is a batch file. (ie. that its file extension is “.bat” instead of .txt) .
cmd.exe /k "cd C:\Users\path\to\websites\UniserverZ\www\ & git status"
pause > nul