CS 330 Lecture 9 – C as Assembly++
Agenda the good and the bad of assembly two purposes for high-level languages hello, C primitive types in C checking the assembly with objdump strings in C the separation of definitions from declarations enums in C enums in Java TODO If you want some refresher on types and C-style flow control, read the first two […]
CS 330 Lecture 8 – Flow Control and Functions
Agenda preserving registers before a function call looping through a number list a function to multiply as repeated addition local variables a progress “bar” TODO For your own sake, read chapter 4 of Programming from the Ground Up, stopping after the example. Read chapter 1 in your book, through section 1.5. Bring a quarter sheet […]
CS 330 Lecture 7 – Flow control
Agenda popping the ?stack stack restoration program this debugging with gdb quadrupling cmp and jmp a coin tosser a for loop TODO If you haven’t already done so, read pages 22-33 of Programming from the Ground Up, sections Finding a Maximum Value through the end of Chapter 3. Von Neumann Languages John Backus said: Von Neumann […]
Accessing thing-[012] from Mac OS X
Hey folks, I thought I’d follow up Dr. Johnson’s tutorial with my own, for Mac OS X users. I posted a brief (2 minute) video on YouTube of how to go about doing this. It’s super easy….and you won’t believe it’s not butter! Here’s the video! [youtube http://www.youtube.com/watch?v=7h29bKyPpr8?rel=0] Go get ’em
CS 330 Lecture 6 – Hardware Pushing
Agenda imperative programming assigning and mutating variables conditionals and loops von Neumann a few hardware functions assembly code disk to RAM to registers returning a result to the shell compiling debugging with gdb adding two numbers printf quadrupling cmp and jmp a coin tosser a for loop TODO Read pages 22-33 of Programming from the […]
CS 330 Lecture 5 – Advanced Regex
Agenda instatiating alternation anchors (^ $ \b) another kind: zero-width assertions executing code in the substitution TODO Read chapters 1-3 of Programming From the Ground Up, stopping before the Finding a Maximum Value section (page 21 in the letter-size edition.) Code states.txt instatiate.rb showext.rb State.java javadocify.rb foo.txt eval.rb Haiku
CS 330 Lecture 4 – State Machines and Regular Expressions
Agenda State machines: states, transitions, accepting states A machine to recognize parenthesized words A machine to recognize numbers A possible implementation Regular expressions as state machine encoding Not much Ruby Composing a string of email addresses Removing all HTML Instantiating states (geographic ones) TODO If we want more on regex, read pages 257-269 of Read […]
CS 330 Lecture 3 – $h3||
Agenda quarter sheets tr echoing a line (in Java) system call (PHP and sed) tcsh vs. bash vs. zsh vs. intellectual development subshells in parentheses vs. curly braces question numbered parameters environment variables redirection and pipes lineN with grep new mail spamming you all what’s the frequency of kenneth? TODO Read http://www.regular-expressions.info/quickstart.html. Bring a quarter sheet […]
CS 330 Homework 4 – Regexercise
See the PDF. For the purposes of this assignment, you will need Ruby 1.9.*. On thing-[012], only Ruby 1.8.7 is available. Thankfully, Dr. Bui is allowing us the use of one of his machines. Instead of sshing into thing-[012], use dplsubmit.cs.uwec.edu. Just like the thingies, you will need a VPN connection first. However, that’s not […]
CS 330 Homework 3 – JSONograph
See the PDF.