Exploration Sessions

Thursdays, 4:30-5:20 in room SAV 260.

Each week we will offer a different opportunity to explore extra topics in computer science with one of our TAs. You will accumulate one "exploration point" for each week that you attend the lecture. At the end of the quarter, your total exploration points will be divided by 2, rounded down, and added to your homework points. There will be 340 homework points total, so this isn't adding a lot to your potential score. As an example, if you were to participate in 3 exploration sessions, you would have 1 point added to your homework points, which is like getting one more point on a weekly programming assignment. The idea is to give people a small reward, but not something that is so large that you feel obligated to participate in these optional sessions.

Week 9: Accessibility - Thursday, June 5

One in six people on this planet have a disability, whether hidden or apparent. Come learn how popular technologies such as smartphones and exercise systems, and computer science come together to improve access and wellness for people with disabilities.

CSE PhD candidate Kyle Rector will be our guest speaker.

Week 8: Machine Learning - Thursday, May 29

A quick introduction to the fundamental concepts of machine learning. Machine learning involves identifying patterns in large datasets, and using these patterns to understand new and unforeseen situations. Examples will focus on document analysis, clustering, and grade prediction.

CSE143 TA Tristan Huber will be our guest speaker.

Week 7: JUnit Testing - Thursday, May 22

When you finish writing code, how do you know that it is correct? 142 TA Riley Porter will answer that question by discussing general testing practices and what it means for code to be correct. Specifically, she will show how to use the JUnit testing framework to create a test suite that tests quality, performance and reliability. This talk will be appropriate for both CSE 142 and CSE 143 students.

Week 6: Binary - Thursday, May 15

142 Head TA Zorah Fung will show you how computers represent all information with just 0s and 1s.

Week 5: Computer Animation - Thursday, May 8

This week will be a look at animation. We'll look at the processes and technologies that are used, how they relate to computer science, and what sorts of animation opportunities here at the UW that students of any major can take advantage of.

Our guest speaker this week is Barbara Mones who teaches the animation courses here at UW.

Week 4: Computer Security - Thursday, May 1

With more and more data being stored in the cloud, and more and more devices leveraging embedded computer devices, security continues to be one of the important and engaging topics in computer science. Come learn a little about cross-site scripting, smashing the stack, and being in the security mindset.

Guest speaker is Karl Koscher, a graduate student in the Security Lab here at University of Washington.

Week 3: Cellular Automata - Thursday, April 24

CSE alum Alex Miller will discuss cellular automata. Some label the field of cellular automata as "recreational science". As Alex will discuss, a cellular automaton is no more than a strange sort of game. However, these games turn out to have extraordinary implications in many fields, and some think they can explain the nature of the universe! You will take a close look at some interesting cellular automata and discover why mathematicians and computer scientists are so obsessed with them.

Week 2: Python Programming - Thursday, April 17

Stuart Reges will present an introduction to the Python programming language. Python is becoming a popular language for many programming tasks. One of it's primary advantages is that it has a simpler syntax than languages like Java. In this sesion we will look at some of the basic features of the language with pointers to how you could learn more on your own. The talk is appropriate for both CSE142 and CSE143 students because we will not delve too deeply into any particular construct.

The talk will end with a discussion of a programming style known as functional programming. This is useful to understand because the latest version of Java (Java 8) now includes similar functional programming constructs.

Week 1: Modular Arithmetic and RSA Encryption - Thursday, April 10

Stuart Reges will present this topic. Modern encryption is built on the kind of mathematics we use in computer science. In this talk we will explore some properties of prime numbers and the mod operator. We will see how these properties can be used to implement what is known as "public key encryption." Finally, we will spend some time discussing the issues of scale that come up in modern cryptography where you deal with prime numbers that are hundreds of digits long. You don't need to know any particular mathematics to understand this talk.

link: resources for a longer version of this talk