- Details
- Created on Monday, 09 September 2013 03:50
- Last Updated on Thursday, 13 June 2019 15:44
- Written by Amory KC Wong
- Hits: 30156
Welcome to Mr. Wong's Info Tech 11/12 Class!
Click for Course Outline 2018-19 and Intro. We are working on iMacs. Watch this video to get started with iMacs. This video shows you how to backup your work to the network (2018).
Blender
To maximize marks, be creative and put your own spin on the shape, colour, textures, and other ideas into your work! Here is a link for downloading Blender, we are using version 2.79, or click here to get the latest version.
Chapter 2 - User Interface
Click here if you want to download the book. Here are the links for more hotkeys 1 and 2.
Video from the man himself - Chp 2 - Jim Chronister
- Blender Setup video (2018) - This describes how to change the default scene to have more appropriate settings and how to change the user preferences to more appropriate settings for what we are doing.
- Click here if you want to download Blender.
- Blender Right Hand Rule system video (2018) - describes XYZ axes and rotation.
- Basic navigation and tools video (2018) - Chapter 2. Make sure you check the mouse settings on the Mac before starting Blender! Please save to Documents, then back the file up to your HomeFolder - saving directly to HomeFolder can cause Blender to crash!
Here is the chapter 2 rubric.
Chapter 3 - Basic Object Editing
Videos from the man himself - Chp 3.1, 3.2, 3.3, 3.4 - Jim Chronister
The lighthouse and landscape are not required for chapter 3, you may choose to do whatever you wish as long as you show the necessary skills in the rubric; this will also result in a higher mark.
There are some basic conventions that you should understand to help you orient yourself. The positive x-axis is red, the positive y-axis is green, and the positive z-axis is blue. The positive z-axis is up, the positive y-axis is looking forward. This will help with the numpad keys for views. Knowing the axes will also help you with constraining mouse transformations or numeric transformations.
- Click here to download the Word description. The documents that are mentioned will be found on "Shared:/student resources/IT 11/".
- Add objects and mesh editing video (2018).
- Boolean modifier, camera, and lights video (2018).
- Old - Click here for the video on object editing - Chapter 3-1.
- Old - Click here for the video on mesh editing - Chapter 3-2.
- Click here for the video on building the landscape - Chapter 3-3.
- Click here for the video on building the lighthouse - Chapter 3-4.
- Old - Click here for the video on building the 3D logo - Chapter 3-5.
- Click here for the video on building the lighthouse part 2 - Chapter 3-6.
- If you have troubles with smooth shading (i.e. fix normals), click here for the video.
The logo is no longer required.
Proceed with the lighthouse or a design of your choice and call me over when it is complete.
Here is the chapter 3 rubric.
Chapter 4 - Basic Materials and Render Engines
Video from the man himself - Chp 4 - Jim Chronister
We look at basic materials and how they are created in the Internal Renderer as well as the Cycles Renderer.
- Basic material video (2018) - diffuse and specular, coloured lights
- Mirror reflection and Cycles renderer video (2018).
- Old - Click here for the video on object textures and materials - Chapter 4.
Please call me over to see your work when you have completed the landscape.
Diffuse Lighting - A more detailed explanation from Wikipedia
Specular Lighting - A more detailed explanation from Wikipedia
Somewhat related to specular lighting is iridescence. This will reflect different colours based on the angle. You may have seen this with custom cars. The paint they use is called ChromaFlair.
Here is the chapter 4 rubric.
Chapter 5 - More Materials and Textures
Videos from the man himself - Chp 5.1, 5.2, 5.3 - Jim Chronister
We continue with the lighthouse/landscape project. Materials are okay for some objects, but to make things look more realistic, you need to learn how to use textures. They can be images or algorithmic. The textures can be used for coloring, but they can also affect the shape of an object.
- Displacement mapping in Blender Internal (2018) - Blender file in case you need the settings
- Displacement mapping in Cycles Renderer (2018) - Blender file in case you need the settings
- Transparency mappings in Blender Internal (2018) - Blender file in case you need the settings.
- Transparency mappings in Cycles Renderer (2018) - Blender file in case you need the settings.
Here is the chapter 5 rubric.
Chapter 6
Videos from the man himself - Chp 6.1, 6.2 - Jim Chronister
We continue with the lighthouse/landscape project. It is difficult to draw a whole world. World effects make your scene blend into a simple world so that your scene doesn't end abruptly.
- Click here for the video on appending objects and adding world effects - Chapter 6.
Please call me over to see your work when you have completed the world effects.
We continue with the lighthouse/landscape project. Not everything in your world is a reflection of light sources. Occasionally, you will need something in your scene that emits light.
- Click here for the video on adding light effects - Chapter 6.
Please call me over to see your work when you have completed the light effects.
Here is the chapter 6 rubric.
Chapter 7
Videos from the man himself - Chp 7.1, 7.2 - Jim Chronister
Ignore the exercise in the book, just work through the examples for the assignment.
Here is the chapter 7 rubric.
Chapter 8
Video from the man himself - Chp 8 - Jim Chronister
Please follow the lesson, but there is no assignment.
Chapter 9
Video from the man himself - Chp 9 - Jim Chronister
Basic rendering will make your scene look good, but ray tracing will add more realism to your scene. Use it wisely, because ray tracing will add to the rendering time.
- Click here for the video on ray tracing - Chapter 9.
Here is the chapter 9 rubric.
Chapter 10
We continue with the lighthouse/landscape project. This is a computer animation course, so time to animate! This lesson will teach you how to quickly create animations using key frames. Rather than animating every single frame, we set key frames and let the software figure out the in-between frames to draw.
- Click here for the video on animations - Chapter 10.
Here is the chapter 10 rubric.
Chapter 11
This is another new project. You will create 3D text on a path or curve. The lesson shows you how to do everything except making a movie. Please make a movie of your final product.
- Click here for the video on 3D text Part 1 - Chapter 11.
- Click here for the video on 3D text Part 2.
Here is the chapter 11 rubric.
Chapter 12
This is another new project. You will create a lava lamp and animate it. This lesson goes over previous concepts such as extruding, materials, texturing, transparency, lighting, and duplicating. The new concepts are modelling with nurbs and how to create a looping animation.
- Click here for the video on Lava Lamp Part 1 - Chapter 12.
- Click here for the video on Lava Lamp Part 2.
Here is the chapter 12 rubric.
Chapter 13
This is another new project. You will create a series of animations and objects using modifiers. The key to animation modifiers is not to click "Apply". You will need to use previous concepts to properly use materials and textures to make the scene look good. You do not need to make the scene loop. Make a video that is a minimum of 6 seconds.
- Click here for the video - Chapter 13.
Here is the chapter 13 rubric.
Please complete the remaining chapters by reading from the book.
Here is the chapter 14 rubric.
Here is the chapter 15 rubric.
Programming
Additional resource: Here are some programming instructions from the University of Waterloo; please note the follow a different order. Before downloading Eclipse, you need to download the Java SDK. Install it, then download Eclipse - Eclipse has an installer now, so it's very easy to install.
For those having difficulty with Java, you can try block programming on Code.org. Please create an account, so that work is tracked.
Chapter 1 - PDF Lesson - Rubric
- Example_1_1.cpp, Example_1_1.java, Hello.m
- Example_1_2.cpp, Example_1_2.java, Escape.m
- Example_1_3.cpp, Example_1_3.java, SimpleFn.m
- Example_1_4.cpp, Example_1_4.java
- ASCII 11x7 character set bitmap
Chapter 2 - PDF Lesson - Rubric
- Video Lesson Part 1
- Video Lesson Part 2, Java Specific Video, Xcode Specific Video
- Video Lesson Part 3, Java Specific Video, Xcode Specific Video
- Example_2_1.cpp, Example_2_1.java, Exercise_2_0.m
- Example_2_2.cpp, Example_2_2.java, Exercise_2_1.m
- Example_2_3.cpp, Example_2_3.java, Exercise_2_2.m
- Example_2_4.cpp, Example_2_4.java, Exercise_2_3.m
- Example_2_5.cpp, Example_2_5.java, CommonDenominator.m
Chapter 3 - PDF Lesson - Rubric
Chapter 4 - PDF Lesson - Rubric
- Example_4_1.cpp, Example_4_1.java, Exercise_4_1.m
- Example_4_2.cpp, Example_4_2.java, Exercise_4_3.m
- Example_4_3.cpp, Example_4_3.java, Exercise_4_3.m
- Example_4_4.cpp, Example_4_4.java, Exercise_4_3.m
- Example_4_5.cpp, Example_4_5.java, Exercise_4_5.m
Scrambled solutions (maximum mark is 80%). Looking at the Example code may help you with some of the unscrambling. Don't use fix formatting or it will make unscrambling harder!
- Scramble_4_1.java
- Scramble_4_2.java
- Scramble_4_3.java
- Scramble_4_4.java
- Scramble_4_5.java
- Scramble_4_6.java
- Scramble_4_7.java
- Scramble_4_8.java
- Scramble_4_9.java
- Scramble_4_10.java
- Scramble_4_11.java
- Scramble_4_12.java
- Scramble_4_13.java
- Scramble_4_14.java
- Scramble_4_15.java
- Scramble_4_16.java
Chapter 5 - PDF Lesson - Rubric
- Exercise_5_1.cpp, Example_5_1.java, Exercise_5_1.m
- Exercise_5_2.cpp, Example_5_2.java, Exercise_5_2.m
- Exercise_5_3.cpp, Example_5_3.java, Exercise_5_3.m
- Exercise_5_4.cpp, Example_5_4.java, Exercise_5_4.m
- Exercise_5_8.cpp, Example_5_5.java, Exercise_5_8.m
Scrambled solutions (maximum mark is 80%). Looking at the Example code may help you with some of the unscrambling. Don't use fix formatting or it will make unscrambling harder!
- Scramble_5_1.java
- Scramble_5_2.java
- Scramble_5_3.java
- Scramble_5_4.java
- Scramble_5_5.java
- Scramble_5_6.java
- Scramble_5_7.java
- Scramble_5_8.java
- Scramble_5_9.java
- Scramble_5_10.java
Chapter 6 - PDF Lesson - Rubric
- Video Lesson Part 1
- Video Lesson Part 2
- Video Lesson Part 3
- VisuAlgo: as much as I would like to create a demo for you, this website does an excellent job of showing how the sorting algorithms work. Clikc on "esc", click on "INS", then click on "Sort->Go". If it's going to fast, click on pause and use the step function (make sure you look at the code and explanation on the bottom right.
- Exercise_6_1.cpp, Example_6_1.java, Exercise_6_1.m
- Exercise_6_1.cpp, Example_6_2.java, Exercise_6_1.m
Scrambled solutions (maximum mark is 80%). Looking at the Example code may help you with some of the unscrambling. Don't use fix formatting or it will make unscrambling harder!
- There is no scramble for 6.1 because you are editting one line. You must compare "saveElem" with an element in "list".
- Same as 6.1.
- Scramble_6_3.java
- Scramble_6_4.java, Scramble_6_4.m
- Scramble_6_5.java, Scramble_6_5.m
- Scramble_6_6.java, Scramble_6_6.m
- Scramble_6_7.java, Scramble_6_7.m
- Scramble_6_8.java, Scramble_6_8.m
- Scramble_6_9.java, Scramble_6_9.m
Chapter 7 - PDF Lesson - Rubric
- Video Lesson Part 1, Java Specific Video, Xcode Specific Video
- Video Lesson Part 2, Java Specific Video, Xcode Specific Video
- Video Lesson Part 3
- VisuAlgo: again, they have already created a very good interactive demonstration of linked list. Use the functions on the bottom left to see how each function works. Try doing functions on the head and tail.
- Exercise_7_1.cpp, Exercise_7_1.java, Exercise_7_1.m
- Exercise_7_2.cpp, Exercise_7_2.java, Exercise_7_2.m
- Exercise_7_3.cpp, Exercise_7_3.java, Exercise_7_3.m
Scrambled solutions (maximum mark is 80%). Looking at the Example code may help you with some of the unscrambling. Don't use fix formatting or it will make unscrambling harder!
- There is no scramble for 7.1 because you have to create your own structure.
- Scramble_7_2.java, Scramble_7_2.m
- Scramble_7_3.java, Scramble_7_3.m
Chapter 8 - PDF Lesson - Rubric
- Video Lesson Part 1, Java Specific Video, Xcode Specific Video
- Video Lesson Part 2, Java Specific Video, Xcode Specific Video
- Video Lesson Part 3
- Exercise_8_1.cpp, Exercise_8_1.java, Exercise_8_1.m
- Exercise_8_4.cpp, Exercise_8_4.java, Exercise_8_4.m
Scrambled solutions (maximum mark is 80%). Looking at the Example code may help you with some of the unscrambling. Don't use fix formatting or it will make unscrambling harder!
Chapter 9 - PDF Lesson - Rubric
- Video Lesson Part 1, Java Specific Video, Xcode Specific Video
- Video Lesson Part 2, Java Specific Video, Xcode Specific Video
- Video Lesson Part 3, Java Specific Video, Xcode Specific Video
Scrambled solutions (maximum mark is 80%). Looking at the Example code may help you with some of the unscrambling.
Final Project - PDF Lesson - Rubric
Old Coding
Old iOS Course
Native Data Types - This video shows you some information about native data types.
Object-Oriented Design - This video lesson gives you a background on object-oriented design. It is the basis for the libraries in Java and iOS. Understanding this will go a long way in helping you use these libraries.
Research Assignment 2 - There is no hard deadline. Click here to download the Word description. Click here to download the Word rubric.
Design Assignment 1 - There is no deadline set yet because xCode has not been installed, so the deadline is TBA.
- Click here to download the Word description.
- Click here to download the Word rubric.
- Although you are not able to code, you can proceed with the design and start creating assets with Photoshop: here is a video on how to create a background image and a video on how to create a rounded image button.
- Click here to view the text specifications for iOS resources; it can also be found under the Shared drive. You will need to create some icon resources (video is coming shortly).
- Click here for the first video on creating your app.
- Click here for the second video on creating your app.
- Click here for learning how to do multi-line labels; this is when you want to display static information.
- Click here for learning how to add a webview.
- Click here for learning how to launch a browser with a web page.
- Click here for learning how to make buttons work in 3.5 inch and 4 inch mode.
- Click here for learning how to make a scroll view for a high res image.
- Click here for learning how to add a large text area scroll view.
- Click here for learning how to add music and/or sounds to your app. Click here for the iOS Music and Sound Code Snippets. You should replace sample music and sound effects after you get the code working!
Xcode without Storyboards Assignment 1
- Click here for the Word description of the complete assignment and instructions about programming.
- Click here for the zip file or here for the tar file for the project files.
- Click here for the video lesson for exercise 1. Extra hints for exercise 1.
- Click here for the video lesson for exercise 2.
- Click here for the video hints for exercise 3.
Basic Coding Assignment 1
This assignment will teach you how to use variables, methods, looping, arrays, and animation. The descriptions are in the zip file as well as the framework for you to work with.
Xcode without Storyboards Assignment 2
This furthers your knowledge about using my framework by creating an 8 Ball app. You will learn more about looping, arrays, UI, animation, and file operations. The descriptions are in the zip file as well as the framework for you to work with.
Design Assignment 2
If you are stuck for your own idea, you can make a sound box app. You should have at least 2 different screens for sounds.
One sound screen can be a drum kit. So find drum samples and hook the sounds to the proper portion of the image. If you want to make it fancy, have that portion of the image highlight.
Another screen can be car sound effects. I'll let you use your imagination for that one.
Add more sound effect screens if you want a better mark. Be creative and logically group sound effects for each screen.
If you want to publish this app on iTunes, make sure that you don't have any copyright materials.
Feel free to use my framework or storyboards to make this app.
Old Java Course
Native Data Types - This video shows you some information about native data types.
Object-Oriented Design - This video lesson gives you a background on object-oriented design. It is the basis for the libraries in Java and iOS. Understanding this will go a long way in helping you use these libraries.
- Object-Oriented Design Assignment (for Java Programmers)
Java Assignments - Please start with chapter 2 posted on "Shared:/student resources/IT 11/Java HTP/" and go as far as you can. Do the self-review exercises in each chapter to make sure you understand the concepts; see me if something is unclear. You should choose exercises that are challenging FOR YOU; this will increase your learning and skills. DON'T pick easy exercises just to get to the next chapter.
Native Data Types - This video shows you some information about native data types.
For every exercise, please insert the following comments at the top of every file:
- // ICT 11/12 - your name
- // Exercise #
- // Date
Chapter 2 - Here is a video covering the basics of this chapter.
Here are some extra videos describing the sample programs:
Make sure you learn how to:
- create a workspace, Java project, and Java class
- fix syntax errors
- run in regular and debug mode
- set breakpoints
- "step over" code
Pick 3 programming exercises from 15 to 33. This is a "B" level assignment if done properly. An "A" level assignment will include one of 17, 24, 25, 28, or 30. When completed, call me for marking.
Chapter 3
Here are some extra videos describing the sample programs:
Make sure you learn about:
- instance variables vs local variables
- function parameters
- primitive types vs objects
- setters and getters are less efficient but make code more maintainable and you can also check values for proper range or length
Pick 3 programming exercises from 11 to 15. This is a "B" level assignment if done properly. An "A" level assignment will include one of 16 or 17. When completed, call me for marking.
Chapter 4
Here are some extra videos describing the sample programs:
This chapter will start covering the more useful things in programming. One of the things computers do well is repetitive tasks; this is called looping. The challenge in loops is knowing the starting and stopping points. Make sure you learn about:
- more advanced "if" statements
- how to stop looping
- loops within loops
- more primitive data types
Pick 3 programming exercises from 17-39 except 25-28, or 34. This is a "B" level assignment if done properly. An "A" level assignment will include one of 30, 31, 35, or 36. When completed, call me for marking.
Chapter 5
Here are some extra videos describing the sample programs:
Again, this chapter will cover more looping. Looping is a useful way for programs to analyze a set of data. Make sure you learn about:
- loops that must execute once and loops that may not execute at all
- the use on "break" and "continue", these should be used rarely
- nesting loops
- truth tables
Pick 3 programming exercises from 11-32 except 27, 31. This is a "C" level assignment if done properly. A "B" level assignment will include one of 17, 20, 21, 22, 30, 32. An "A" level assignment will include two of the "B" level exercises.
Chapter 6
Make sure you learn about:
- local variables
- static variables
- Math package
- casting primitive types
Pick 3 programming exercises from 16-39. This is a "C" level assignment if done properly. A "B" level assignment will include one of 27, 30, 31, 33, 34. An "A" level assignment will include two of the "B" level exercises.
Chapter 7
This is an important chapter. Up till now, you have been dealing with singular values. To do complicated things more efficiently, you need to use data structures. The most basic and often used is the array.
Make sure you know how to:
- create an array
- index into the array
- initialize a data array
- iterate over an array
- multi-dimensional arrays
Pick 3 programming exercises from 10-38. This is a "C" level assignment if done properly. A "B" level assignment will include one of 19, 21-28, 30-37. An "A" level assignment will include two of the "B" level exercises. Other "B" level variations are Texas Hold 'Em or Mastermind. If you need hints for the poker assignments, Java Poker Hints.
Chapter 8
This is another important chapter. You will learn more about custom data structures that contain multiple variables and multiple methods.
Make sure you know how to:
- design constructors
- self-referencing pointers
- overloading methods
- using enumerated types vs constants
- class methods vs object methods
- composition "has-a" vs inheritance "is-a" (you will learn this later)
Pick 3 programming exercises from 11-18. This is a "C" level assignment if done properly. A "B" level assignment will include one of 11, 15-18. An "A" level assignment will include two of the "B" level exercises.
Chapter 9
This is a challenging chapter because it is all conceptual. Inheritance vs Composition is a design decision. Although you can choose whatever you like, some decisions are better than others. Rather than write the exercises, I would like you to code them so that it is syntactically correct. However, only code the properties and interfaces, do not write the methods unless the exercise tells you to. Here is a video explanation of hierarchy.
Pick 2 exercises from 3, 5, 6, 8. Another assignment is to create a vehicle hierarchy. Consider electric vehicles, trucks, motorcycles, etc. Marking is different for this chapter - the larger and more correct the hierarchy for any exercise, the more marks will be assigned.
Chapter 10 - optional
You are not required to learn this chapter because this is generally not used by programmers because it can be problematic. I will assign marks if you do some work.
Chapter 11 - delayed
Chapter 12 & 13 - optional
You are not required to learn this chapter. It requires a lot of experience and subject knowledge to do this properly. I will assign marks if you do some work.
Chapter 14
This chapter will make your programs more interesting by providing a graphical interface rather than a console. The difficulty is learning how to use other people's code; it requires reading and learning what exists. Warning, Java does not give you very good control of layouts; this is because it allows users to resize windows, so it likes to do what it thinks is best for the users.
Pick 3 programming exercises from 8-20. This is a "C" level assignment if done properly. A "B" level assignment will include one of 12-16. An "A" level assignment will include one of 17-20.
Chapter 15
This chapter looks at 2D graphics; this is a precursor to doing 3D graphics. Make sure you learn how the API is designed and learning 3D will be easier. Understand how to set coordinates and colour.
Pick 3 programming exercises from 6-32. This is a "C" level assignment if done properly. A "B" level assignment will include one of 18-30. An "A" level assignment will include one of 31-32.
Chapter 16
Strings are the basic building blocks to many applications. It is generally better to input strings instead of numbers because you can check the input, output non-terminating error messages, and ask for input again. You have seen my demos from the earlier chapters. It definitely will reduce run-time crashes.
Old Assignments
- Click here to download the Word description.
- Click here to download the Word rubric.
Design Cycle (for all students) - Please watch this video to learn about the design cycle. It will help you refine your product to achieve highly polished results.