Exploration Sessions

Exploration session time/place:
Wednesdays, 3:30 - 4:20pm, in CSE room 203.

Each week we will offer a special optional "exploration session" where our head TA, Eric Arendt (ejarendt), will give presentations about special topics of interest in computer science. Any CSE 142 or 143 students (or their friends) are welcome to attend these optional sessions if you would like to learn more about the topic(s) being presented. Please feel free to contact Eric if you have any questions about the sessions.

Week 5 (Artificial Intelligence): May 5, 2010

Today's exploration session is about artificial intelligence. Artificial intelligence is a huge part of computer science, informing everything from robots to adaptive spam filters for your email. Creating machines that can "think" allow us to solve a number of very difficult problems. Specifically, we'll be discussing neural networks and how we can use them to create intelligent models.

Optional Homework: Do the following two exercises. (due: Wed 5/12/2010, 11:30 pm)

  1. Design a perceptron of two inputs that recognizes the boolean function A&~B. In other words, find the coefficients necessary for a perceptron to have an output of one if A = 1 and B = 0, but the percpetron outputs -1 in any other situation.
  2. Design a two stage network of perceptrons that recognizes (A&~B)|(~A&B). In other words devise a two layered system where the outputs of the first layer of perceptrons is used as inputs to the second layer of percpetrons. This system should output 1 only if A = 1 and B = 0 or, A = 0 and B = 1. All of other inputs should yeild a -1.

Week 4 (Computational Biology): April 27, 2010

Today's CSE 142 exploration session will feature two undergrads, Gabe and Rita, who do research in computational biology. Gabe focuses more on molecular biology and using computers to analyze huge datasets, while Rita's research has more to do with mathematical modeling and simulations, specifically modeling brain tumor growth. They'll be giving a broad intro to computational biology and an overview of some of the research at UW as well as an interactive demo of "Fold-It". Fold-It is a protein folding game that uses crowd sourcing (the data they gather from players) to inform biological research. You can check the game out here: Fold-It

Week 3 (Cryptography): April 20, 2010

This week we will continue to explore computer security with a discussion of secure communication and cryptography. We'll talk about motivations for security, communication threat models, and ways of encoding messages to ensure confidentiality and integrity.

Week 2 (Security): April 13, 2010 icon Turn in Exploration HW2 here.

This week we will be exploring computer security and hacking. We'll talk about what security means, how to keep a computer secure and safe, how to hack a computer, how passwords work, encryption, and more!

  • Optional Homework: Create an attack tree (due: Tue 4/20/2010, 11:30 pm)
  • Possible assets include:
    • Stealing a car
    • Accessing a bank vault
    • Getting a file off of someone's computer
    • Something else that you choose
  • Your tree should have at least five branches from the main node (the asset) and should be at least three levels deep (including the asset).
Turn in your homework as a .doc, .pdf, image, or some other file. Contact the head TA if you have any questions.

Week 1 (Grammars): April 6, 2010 icon Turn in Exploration HW1 here.

This week we will be exploring grammars. Computer scientists are interested in grammars because we produce our own languages (like Java) and we want to understand various programming languages that we work with. We will explain how to express a grammar in a formal manner and the homework will involve writing your own grammar file for a language that you make up.

  • Optional Homework: Create your own grammar file (due: Tue 4/13/2010, 3pm)
    • Turn in your own grammar in a file named grammar.txt. Your file must have at least 8 rules (one rule per line).
    • Recall that each rule is of the following form:

      non-terminal ::= terminal | terminal | terminal

      Although the terminals above can also include non-terminals.
    • Try to be creative! Some possible ideas:
      • A homework excuse generator
      • A valley-girl speech generator
      • A Java code generator
    • icon Grammar generator web page (use this to test and check your grammar!)
  • icon Wikipedia: Formal grammar, Formal language, Backus-Naur Form (BNF), John Backus, Peter Naur
  • icon Java Language Specification (the grammar for Java programs)