From Huben's Wiki
Java Course Design for 2012-2013 * Alternate between different aspects of Java. * whole-language * mathematical * algorithmic * syntactic * Whimsey: Hogwarts School Of Computer Science Design: List of software for Course: On Desktop: IE (latest stable version) Chrome (latest stable version) Firefox (latest stable version) OpenOffice Dr. Java (latest stable version) jGRASP (latest stable version) JCreator (latest Free version) Eclipse (latest Free version) Java Bean Environment Console Start Menu: EKS Games In shell path for consoles: JDK (latest stable version) Adobe Reader Printer for room 306 should be automatically configured or easy to find. All computers should have proper domains and internet access for all. Recommended equipment: thumb drive access to computer outside of school 9/7: Hwk: http://huben.us/wiki/Keyboard_Navigation * a whole language task Discussion: (10 minutes or longer) * Students seldom know how they can edit with the keyboard. * Assignment is like a scavenger hunt. * Some goals may not be directly possible. * How long should we spend on this assignment? (up to 1/2 hour) * What should we do if we are stuck? (try looking another way, or ask) * Where should we look for the answers? (manuals, internet, people) * If we ask somebody else, is that cheating? (no if you get provenance) * What is Provenance? (How the information was learned.) Posters: * We are EXPENSIVE! (our class slogan, why we get out of being stuck) * Provenance? 9/10: Hogwarts School Of Computer Science Posters: * Hogwarts School Of Computer Science * Magic (reserved) Words * Class Hwk: Muggle book 2.1-2.2 Review: Keyboard_Navigation (forgotten this time!) Discussion: (X minutes or longer) Follow and elaborate on Hogwarts School Of Computer Science page. What do you notice about the braces and the words of this incantation? * on lines by themselves * there is indentation between them * they come in pairs,like the Sith * they start and end a block 9/11: Muggle Studies, slides 2.1-2.10 Review: Keyboard_Navigation (should have been yesterday) * What are the answers to A, B and C? * Explain the word provenance. Use in science, history, evaluating sources. * Explain how they, as students should be taking notes: intellectual development. Not simply here to get an A, but to learn many other things at the same time. Value of writing things. * What ways did you find out this information? pulldown help keyboard shortcuts, ask friends, experimentation, google, prior knowledge. * These are the different provenances you used. Are theyt all reliable? Did you test them? * Humility of science because of provenance. * Did you learn anything about editing that you will use? * Open one of the programs from yesterday in Dr. Java. Do these all work there too? (ctl up and down don't) * Slides 2.1-2.8 Hwk: Muggle book exercises: Ch. 2, 1-5 9/12: Fear Not Demon Curses Posters: * Incantations! * static public void main(String args) * System.out.println(anyThing); Exercises: * A+B take 20 min. * C takes about 5. * Slides 2.8-2.15 Hwk: Muggle book exercises: Ch. 2, 9 9/13: Commanding The Demons Hwk: Read Muggle book 9.5, take notes on it! Exercises: * What are the answers to A? Emphasize that without understanding what the method does, you can still extract vital information! * What are the answers to B? Explain that class names start with upper case, and method names start with lower case. * What are the answers to C? Explain that constructors are special methods with the same name as the class. * Finish slides. 9/17-18: The Demons Command Each Other Exercises: * Method calls look something like the method signatures. How can you tell them apart? * They have no block immediately following them. If a block follows, there is a semicolon between. * They occur within the bodies of methods. *More things later.... 9/19 Review: for test. 9/21 Graduate from Hogwarts, matriculate to Rivendell College. 9/26 The variables declared at the top of a class are the fields, as opposed to the local variables and arguments in the methods. Explain arguments better: * Declarations of arguments happens in the method declaration. Type and then name. * Use the name of the argument inside the method. * Calls to the method set the argument with values, and the types should match. The values are the results of any expression you provide. Give examples of expressions. Need to add an example showing parts of everything and what needs to match. 9/27 Review: for test. 10/3 Introducing students to roles of objects and variables is difficult. Need to distinguish: * Variables come in two types. Basic types and object types. * Basic types actually hold the data: integers, characters, doubles, booleans. * Object types do not hold objects in them. Objects themselves are stored elsewhere, and the variable simply has their address. * The actual objects know their classes. * When you do 'String s = new String("abc");', these things happen: * a piece of memory is picked (for s) * new picks a part of memory the right size for your String object * String() is the constructor, and puts your values into the object * new returns the address of that part of memory * the address is stored into s. * in Creating UrukHais/Fields Of Battle + Understanding Army Life, we need: a diagram that shows relationships between variables, objects, and classes. * dot operator means follow the pointer to the object, and maybe beyond that to the class * need big diagram of variables pointing to objects pointing to classes -------------- Later we will comeback to 2.3, 2.4 and the rest. After the basics of methods, variables and arguments. Investigate changing from demons to spirits or goblins (what ever Harry Potter has).