CS56, Summer 2018

Course Staff Bios:

NameRoleBio
ChandlerMentor

My name is Chandler and I’m a fifth year Computer Science major. I came to UCSB with the intention of majoring in Chemsitry but I was lucky enough to switch into CS during the end of my second year and have loved it ever since! I did an internship last summer at a remote company in downtown Santa Barbara slinging Java code and this summer I’m doing programming language research under Ben Hardekopf in the PLλab. I’m also one of the head coordinators for SB Hacks, UCSB’s yearly hackathon, and a product manager for GoGaucho. In my free time I like to (very slowly) learn new programming languages, visit National Parks, and collect video games. I have taken every single required upper division course so if you have any questions about CS or UCSB undergrad, I’m your guy. Cheers!

ConradInstructor

Phill Conrad is a Senior Lecturer in the CS department at UCSB. He is interested in ways of incorporating authentic software development experiences into undergraduate computer science courses. Outside of CS, his interests include piano, guitar, hiking and meditation.

DerekMentor

My name is Derek (Guancheng Ren). Currently a fourth year CS major student. My field of study is machine learning (mainly image processing and natural language processing). I took the CS56 with Prof. Conrad last winter quarter, when I worked on the TODO-List legacy code project. For the project I wrote the unit and integration tests using Junit. Designed the UI using Java Swing and HTML. And implemented a Saving/Loading mechanism with Java Serialization. Aside from Java, I am also familiar with HTML/JavaScript and socket programming, which I believe will be very useful for developing web apps. Ask me questions if you have any.

FuhengMentor

My name is Fuheng Zhao. I am going to be a junior at UCSB, double major in mathematical science and computer science. In this summer, I am working with Professor Atzberger in diffusion maps, a technique to perform dimension reduction. I have taken CS 56 before with Professor Conrad and my legacy code project was the checkers game. Last summer, I interned at a local company in Beijing. During the internship, I learned about HTML and JavaScript and helped senior web programmer to create website pages.

MahnazTA

I’m Mahnaz Koupaee a second-year Masters student working in NLP lab with professor William Wang. I’ve been a TA since I joined UCSB for multiple courses such as CS4, CS8, CS48, CS64 and CS138. Programming courses gives us the opportunity to create cool things step-by-step and make us feel good about ourselves and our abilities! What I like about the lab sections is the interaction we have with students individually answering their questions by explaining things as clearly as possible, helping them accomplish what they desire. Feel free to contact me to talk about CS56 or anything I might help you with.

NuanMentor

Hi! This is Nuan and I am excited to become your mentor for CS56 this summer:). I am a soon-to-be fourth-year CS undergraduate at UCSB and I took CS56 about two years ago. Currently I am doing ml/dl-related research under Prof. Yan's instruction. I am also very excited about application development and especially _web app_ ! I've never tried to build web app with java before, and I am really looking forward to what we can achieve over the summer. I once worked as a front-end software engineer intern--feel free to ask me more about it if interested! Happy coding!

OmerMentor

Hey everyone! My name is Omer Cohen, I am a 4th year Computer Science major, I transferred into the major from Mathematical Sciences my Sophomore year. I’m interested in Machine learning, business analytic software and IOS mobile app development! Unfortunately, UCSB doesn’t offer any courses in Swift however I took it upon myself to learn it. This summer I am interning at a defense contractor in Goleta called L3 Technologies in Goleta. There I worked applications that involved socket programming in C, as well as a User Interface application in visual basic (.net). Some of the CS courses I’ve taken include: Artificial Intelligence (cs165a), Parallel Programming (cs140), Computer Networking (176a), Data Structures and Algorithms II (130B). When I’m not programming, I like to play basketball, I am a huge Lakers fan, and I like food. I took cs56 in the Fall of 2017, please feel free to contact me if you have any questions or need advice!

SanthaTA

I am Santha, first-year Computer Science Master's student. This is my first time being a TA and I look forward to building our applications together for CS56. Cheers!

WilsonMentor

I am an undergrad going on to my fourth year in CS. My minor is in Arts and Technology. This summer, I am doing my first internship with a startup downtown where I am porting an iOS app to Android. I hope to keep working on mobile apps in the future. I also have a very deep passion for cats of all sizes. My friend and I are trying to make a fun augmented reality app with cats. Personally, I think CS48 and CS56 were some of the most useful classes I have taken here. They prepared me the most for my internship now.

YunkaiMentor

I am a rising third-year majoring in CCS Computing and Mathematics. My main research experiences lie in machine learning and math modeling. I am currently working in Prof. Xifeng Yan’s lab on time-series processing. In terms of experiences relevant to the course, I used Java to compete in USA Computing Olympiad, so feel free to reach out if you have any questions about competitive programming!

ZihaoMentor

Junior student major in Computer science. Fresh man project Sensor / Remote controlled ORV. Sophomore project supper-fun version zombie vs. plants. Like building things that are fun. For this course, I am planning on creating and working on a project called shift coverer that is made for student workers in campus to find shift cover when they are unavailable to work. ( If you ever worked as a part-time worker in campus, you would know that find a a cover for your shift when you are not able to work is a huge trouble, but with this app, student workers may better coordinate their hours and got each other’s back. ) If you feel interested, please feel free to contact me. ( If this app turns out to be good I would strongly recommend it to my supervisor in UCEN who might be happy to adopt and promote it lol. )

Labs:

num ready? description assigned due
lab00 true Getting Started Tue 08/07 09:30AM Fri 08/10 05:00PM
lab01 true Tools for java development Fri 08/10 09:30AM Thu 08/23 11:59PM
lab02 true Polynomials Thu 08/16 09:30AM Mon 08/27 11:59PM
lab03 true Testing and Sorting with Lambdas Fri 08/24 09:30AM Fri 08/31 11:59AM
Midterm Exam E01
lab04 true Intro to Web Applications Wed 08/31 09:30AM Thu 09/01 11:59PM
lab05 true Leaving a legacy Fri 09/14 09:30AM Fri 09/14 12:20PM
proj01 true Webapp Projects, Part 1 Wed 09/07 09:30AM Sun 09/11 11:59PM

Homework:

num ready? description assigned due
h00 true HFJ 1,2: Java basics Tue 08/07 09:30AM Wed 08/08 09:30AM
h01 true HFJ 3,4: Primitives, References, Instance Variables, Methods Tue 08/07 09:30AM Thu 08/09 09:30AM
h02 true HFJ 5,6: Random, ArrayList, first look at the Java API Tue 08/07 09:30AM Fri 08/10 12:20PM
h03 true HFJ 7,8: Inheritance, Polymorphism, Abstract Classes Fri 08/10 12:20PM Tue 08/14 09:30AM
h04 true HFJ 9,10,11: Constructors, Statics, Exceptions Fri 08/10 12:20PM Wed 08/15 09:30AM
h05 true Data Structures (HFJ 16) Fri 08/10 12:20PM Thu 08/16 09:30AM
h06 true Packages and JAR files (HFJ 17, pp. 581–595) Thu 08/16 02:00PM Mon 08/20 09:00PM
Midterm Exam E01
h07 true HFDP: Chapter 1 Fri 08/31 12:30PM Tue 09/04 09:30AM
h08 true Observer Design Pattern (HFDP 2) Fri 08/31 12:20PM Wed 09/05 09:30AM
h09 true The Decorator Pattern (HFDP 3) Fri 08/31 12:20PM Thu 09/06 09:30AM
h10 true The Decorator Pattern (HFDP 3, part 2), and the Open-Closed Principle Fri 08/31 12:20PM Fri 09/07 12:20PM
ic00 true Pair Partner Picking Planning Tue 08/07 09:30AM Tue 08/07 09:30AM
ic01 true Story Mapping Preparation Tue 08/14 09:30AM Tue 08/14 10:50AM
ic02 true Exam prep (garbage collection) Wed 08/29 09:30AM Wed 08/29 10:50AM

Exams

num ready? description exam date
e01 true Midterm (NOTE NEW DATE) Thu 08/30 09:30AM
e02 true Final Exam Thu 09/13 09:30AM

Lectures

See also: LECTURE* repos from https://github.com/ucsb-cs56-m18

num date description