Room 514

Classes, curriculum, education…

Routing Algorithms May 20, 2008

Filed under: ICE4M — mryantho @ 5:18 pm

routing

 

OSPF May 15, 2008

Filed under: ICE4M — mryantho @ 3:07 am
Tags:

Open Shortest Path First

For now, just condense (make notes) from this web page: http://www.inetdaemon.com/tutorials/internet/ip/routing/ospf/index.shtml

OSPF is a routing system that can use Dijkstra’s Algorithm in order to create spanning trees.  These trees of course help us find the shortest path from one node to another.

 

Introduction to Networks May 9, 2008

Filed under: ICE3M,ICE4M — mryantho @ 11:53 am
Tags:

Class, I have emailed your work as an introduction to networks. You will make notes on the introduction as well as answer questions about TCP/IP.

I have also attached the Word document with all the work here.

 

Programming & Ruby Test Tomorrow May 6, 2008

Filed under: ICE3M,ICE4M,Ruby — mryantho @ 3:42 pm

Make sure you engage your brains with effective studying!  I have found a scientific study that should emphasize my point.

As you can see World of Warcraft can drastically reduce student performance.  (Note that WoW can be replaced by any other non-academic pursuit.)

Ways to study that are better than reading:

  1. Writing and condensing notes
  2. Creating explanations in your own words
  3. Creating sample questions that you think could be on the test
  4. Sharing those questions with others (This is studying with a partner, as opposed to reading and then playing GTA on breaks.)
 

What is a Podcast? April 29, 2008

Filed under: computers,ICE3M,ICE4M — mryantho @ 4:58 pm
Tags:

Here are the notes from today’s discussion about what is a podcast.  I will add an additional powerpoint here shortly as well.

podcast-intro

 

HTML The Language of Love…Errr Web Pages April 3, 2008

Filed under: ICE3M,ICE4M — mryantho @ 1:52 am
Tags: , ,

HTML is the language of web-pages.  (And the language of love I suppose, if you love the internet.)  Sure there have been other variations and additions that create web pages.  Things that work with HTML, or like HTML.  Things like shtml, dhtml, xml, and others.  But the foundation language to create web-pages is HTML, or Hyper Text Markup Language.

“Hyper Text” refers to hyperlinks (links.)  These are a big deal.  We take links for granted now, but being able to click on a word and be taken to a new page was pretty revolutionary stuff.  Think about it, we had print materials, then we had electronic materials but they were pretty much just words on a screen instead of on a page.  All of a sudden we had pages that linked together to form a web of pages.  This web, spread to pages all over the wide world.

So how does HTML work?  HTML uses things called tags.  Tags tell your browser how to format the text on the page (and images.)  Tags have an opening tag, and a closing tag.  The text in between the tags is formatted to  whatever style the tag say to do. 

Your task today is to follow the tutorial here.  On each page you’ll learn a little about HTML and also complete plenty of examples.  You should actually write the code of the examples, and not justread them.  This will force your brain to absorb knowledge like a sponge, a HTML absorbing sponge.  Sweet.  Follow the tutorial along, and at the bottom of each page just click the “next” button.  You’ll notice on the left the table of contents for the tutoral (the page your are on will be in bold.)  Follow along up to the page HTML Tables.  Remember actually write the examples and preview them in a browser just like the tutorial says to.

 

Classes & Decision Trees April 1, 2008

Here is the pdf version of our introduction note on Classes.   The following are just some key points. 

Remember that the class of objects refers to the concept, or “what it means to be that thing.”  The instance of the object refers to s specific thing or “that thing over there.”

It is the difference between “Tell me about trees” and “Tell me about that tree right there.”

Classes have properties, but an instance of the class (object) has actual values.  So instead of just having “number-of_leaves” as a property, it has “number_of_leaves = 345″ as a property with a value.

Decision Trees

Decision trees are also referred to as “if then else” statements.  Theey are also called “conditional statements”  because something is done when a condition is met.  When an if -else statement occurs inside of another one, it is called a nested if statement.

 

Programming in Practice March 31, 2008

Filed under: ICE3M,ICE4M — mryantho @ 11:46 am
Tags: ,

As I have already said, for class we will be using Ruby on Rails to explore elements of programming.  I have a new category about Ruby posts here on the blog.  I will post information about each lesson and tutorial we work through.  I will make videos as we go along, however, I will not post them here.  The reason is, I will use a lot of references from our book and that may pose some problems posting that in the public domain.  Instead I will email you the links to where I have posted the videos privately.

 

The Lightweight Introduction to Programming March 28, 2008

Filed under: ICE3M,ICE4M — mryantho @ 3:39 am
Tags:

Good morning Computer Scientists.  Read the following post and please summarize  for your own notes.

This a ultra-stripped down introduction to concepts in programming.  This is a starting point from no knowledge.  So if you come across this page and you have some background in programming, and you notice some things aren’t technically correct ~ you might care but my grade 11 students do not.  As a side note for my students, programmers tend to have serious idiosyncrasies (peculiar tendencies), a common one is the need to correct people when they feel a slight misinterpretation of their craft has been made.

Let’s start with some simple explanations of concepts in programming.  Many times I will use “real world” examples.  It isn’t that programming isn’t part of our reality, I mean that we have our every day world an the virtual one we are creating through programming.

Variables - A variable is something that represents something else.  It is that simple.  In math class when we say x+2 = 5, we are basically saying that x is representing a 3.  We could also say more generally that x is representing a number, integer, real number whole number, prime number etc.  A variable can also represent a word, a password might actually represent “iluvamericanidol.”  In real life, our name is a variable that represents us.  We’ll say “Jon Smith” rather than describe every characteristic that makes up John.  It is easier to use a variable.  You should name variables something meaningful like “person_height” rather than “z.”  You should know that you cannot name variables certain keywords.  Keywords are special words in the language that have special meaning.

Basic Data Types – Data can be different things.  Most often it is numbers and strings (letters, words, text.)  These are our basic types of data.  Later we’ll talk about advanced data types, but these are data types made of our basic ones.  Most programming languages have the following (or similar) basic data types.

  • Integers (ints) – These are whole numbers positive or negative (1, 34, -987)
  • Decimals (floats) – Decimal numbers (2.34, 4.00, -783.23)
  • Strings – Text and letters (“a”, “hello”, “jkhjhjj”)

Properties (Attributes) – Properties are things that an object has.  They are the things that describe the object and in most cases make it unique.  In real life we have trees.  Some properties of trees are colour, height, weight and type.  There are surely more, we’ll just look at these ones.   Colour is a property, if the colour of the tree is green, then the property colour has a value of “green.”  So properties have three parts, the property name, the value, and the type.  Types of properties are things like numbers, words, etc.  You can think of properties as special variables that belong to an object.

Objects - I should point out that in programming, Objects don’t exist in every programming language.  Languages like Squeak, Java, and C++ are “object oriented.”  That basically means that everything is an object (this is especially true in Java.)   languages like C and PERL are not object oriented, however, a skilled program can use constructs like objects if they wish.  An object is just something we represent in programming that is like its real life counterpart (or would be like if it existed.)  So if we were making the Need For Speed 30 car racing game, we might want to code a car object.  This car object would have properties, like weight, type, colour, etc.

IDE (Integrated Development Environment)- An IDE is where the programmer works.  If Word is for a writer, an IDE is for a programmer.  It allows programmers to write programs and usually provides helpful features.  This means it might have special display windows, or that it colour codes key words.  For most languages you don’t need a nice IDE and you could just use something like Notepad.  But a good IDE can really help you along.

Boolean Algebra- Boolean Algebra are like equations that can only have one of two results, either True or False.  In boolean algebra, something like 8 < 30 would equal True.  An expression like Brittney Spears AND Albert Einstein are both really smart, would be False because they are not BOTH smart (Albert Einstein is dead.)  The AND is called a boolean operator.

You’ll notice above that I used AND.   AND is a boolean operator.  We also have OR and NOT as the basic operators.  An expression like “I know how to drive a car OR I know how to fly a plane” would be True.  That is because I do know how to drive.  As long as one of the statements is True than the whole statement is true.  A NOT operator simply reverses the expression, so a true statement results in false and vice-versa.

Comparison Operators- These are operators that are also used in boolean algebra.  The expressions will still result in true or false.  In the example I used before: 8<30 is True, the “<” is a less-than operator.  These are often used to compare numbers but can also compare strings, or even objects.  We use the operators < (less-than), > (greater than), = (equal-to), and  != (not equal-to).

Functions (or Methods) – Functions are named chunks of code.  Programmers create functions to perform a job that the program will complete often.  That way instead of re-writing the same chunk of code over and over again.  That is the easiest thing to see.  Think about directions to school.  If we had to re-write code for each day of school, it adds up.  It is easier to have a function called “go_to_school,”  you’d never miss class again.

Functions also make our program more easy to understand when we look at it.  That’s because we name our functions things that makes sense.  So if we saw a function called “stringToInteger(x)”, we might guess that it converts the string x to an Integer.  As a side note these chunks of code are called blocks in Ruby.

Syntax- Syntax is the rules of a language.  English is a language and it has rules.  Those rules are called its grammar.  If we don’t use grammar correctly, even though we are using English words, our message will be lost.  The same is true for programming languages.  We need to follow the rules of our language or the computer won’t be able to understand what we want the program to do.  Every language has its own syntax.  Some programmers will have preferences and say one language’s syntax is more difficult than another language’s grammar.  And syntax can be tricky; forgetting a semi-colon may cause a whole program to crash.  And you thought English grammar was difficult.

Semantics – Remember when Homer said “Let’s not get bogged down in semantics.”?  I do…and I laughed.  Well, if there is something that can bog you down, it’s semantics.  Semantics is the meaning of a message.  Basically it’s what the message you are trying to get across.  While syntax is how you say something; semantics is what you are saying.  In programming, when we discuss semantics, we are talking about what you are trying to do with your program.  Are you trying to solve a complex calculation?  Create artificial intelligence for a game? Launch a space shuttle?  Getting your semantics correct, means creating a program that completes the correct steps to solve a task.

Visit this site: http://cisnet.baruch.cuny.edu/holowczak/classes/programming/ for some more information.  Use these explanations to add to your understanding.  Remember, you are expected to make notes…its is your homework.

Also for homework, visit this site: http://tryruby.hobix.com/ .  It will give you a very brief introduction to Ruby.  Don’t worry if a lot of it doesn’t make the most sense yet.  It will get better in time!

 

Assembly Language March 18, 2008

Filed under: ICE4M — mryantho @ 4:03 pm

We are going to be looking at programs written in assembly language, specifically those that would run on a RISC architecture. Yesterday we talked about the add, store, load, and bit test commands.

To actually create a program, we will need an emulator to act as a RISC machine.

You can download one here. Be sure to download the version for Windows XP.

 

 
Follow

Get every new post delivered to your Inbox.