UCR CS Technical Seminars
About Technical Seminars
Technical Seminars are brief (1 to 2 hour) talks about some hands-on
aspect of Computer Science. They will are intended to be an informal
talk, and are open to anyone interested. Seminars are usually held in
the late afternoon/early evening, but it is generally up to the
speaker. For any presentation that has accompanying slides, links to
the presentation slides will (hopefully) be linked to on this page.
Spring 2004 Seminars
- Friday, April 2, 6-8pm - Python (Surge 284)
Titus Winters & Dan Berger - Python again. This will be a
live-coding demonstration of the features that make Python
great. This is highly recommended for CS 100, 152, 164, and 180
students that don't know Python, but all are welcome.
- April 8th, 5-6pm - Unix Survival Skills (Surge 284)
Dan Berger & Titus Winters - More getting by with Unix. For all
students that aren't comfortable in Linux yet. CS 10 and 12 are
especially welcome.
- April 16th, 6-7pm - Perl (Surge 284)
Victor Hill (Head System Administrator) - An introduction to the
language that is truly the duct-tape of the Internet, from someone
that has a daily experience with it. Like it or not, perl is
easily one of the most useful tools around. If you EVER have to work
with large quantities of data, this is the language you need
most.
- April 23rd, 4-5pm - Design Basics with UML (Surge
284)
Terrance Hamilton (Grad Student) - An introduction to Object Oriented
Software Design with UML. UML has become the lingua franca of
software design over the past few years, if you have any intention of
programming professionally, you ought to have a better grasp on UML
than you do. Yes, we mean you.
- April 26 - 30Cancelled
- May 7th, 4-5pm wxPython (Surge 284)
Titus Winters will present a quick introduction to wxPython, his GUI
toolkit of choice. wxPython has good platform compatibility, renders
natively on all platforms (GTK under Linux, Win32 under Windows, etc),
and supports advanced features with amazing ease. The talk will cover
GUI designers (wxGlade, possibly others), where to find documentation,
where to find the demos, how to install wxPython, event-driven
paradigms, and possible other stuff.
Links you want:
- May 13th, 4-5pm SSH Tricks (Surge 284)
A reduced and re-targeted version of a wonderful talk Dan Kaminsky gave a couple years
back at DefCon. SSH port
forwarding, command forwarding, pipes and stdio redirection, and the
ssh-config(5) file.
Slides. For more information, check www.doxpara.com and Google if that
fails.
- May 20th, 4-5pm C# (Surge 284)
Jacob Lewallen presents C#. As a major component of Microsoft's .NET
initiative and a rising competitor with Java, C# represents a powerful
modern language with heavy industry backing. Jacob will cover the
very basics in this 1 hour talk: syntax, control flow, memory
management, OOP, boxing, unboxing, etc. There are some very
interesting features here, so if you find yourself in the mood to
learn about some modern language developments, C# is a good place to
look.
Slides from this talk are available here
- May 26th, 6:30-8pm PHP (Surge 284)
Nick Sorraco presents PHP. PHP is one of the most common scripting
languages for web development, but can be used for a number of other
things as well. It has good data structures builtin, powerful
database interaction, and a host of modern language features that make
it a good language for rapid development.
Unscheduled Topics
Note: if you would like to propose a topic, please send a message
to titus@cs.ucr.edu with your
topic proposal and whether you would prefer an afternoon or evening
session. If you just have ideas for topics but would rather not
volunteer, that's OK as well.
- Eclipse - The cross platform heir-apparent to the IDE throne - ???
- gnuplot - The proper way to display data in a Unix environment. - ???
- SQL - The lingua franca of the database world - ???
- Subversion - A replacement attempt for CVS that hasn't failed yet - ???
- vi(m) - Yin to Emacs' Yang. Highly featured, fast, console based
editor - ???
Winter 2004 Seminars
- Thursday, March 11th, 4pm - 5pm - Ruby (Surge 284)
Jacob Lewallen (System Staff) - An introduction to Ruby, Python's
comrade-in-arms in the fight against the line-noise that is Perl
code. Ruby combines much of the ease of Python with the pure OOP
paradigms of Java. A very clever language
Ruby demo code is available here.
- Monday, March 1st, 7pm - ~8:30pm - Java (Surge 284)
Wagner Truppel (Lecturer) - A sales pitch for Java, the buzzword
programing language of the late 90s. A C++ replacement that has a
heart.
Slides for the talk are available here (PowerPoint PDF)
Sample Java code (Polygons.java)
- Friday, February 20th, 4-5pm - GDB & other debuggers
(Surge 284)
Dan Berger - A review / introduction of GDB, including some of its
more advanced features, using GDB in Emacs, and GDB's graphical
big-brother, DDD.
What DDD would have shown before making the bad assignment
What DDD would have shown after making the bad assignment
- Friday, February 13th, 6:45-8:00pm - C++ Standard Template
Library (Surge 284)
Titus Winters - An introduction / overview of the Standard Template
Library. This is the set of tools that makes C++ a usable language.
- Friday, February 6th, 6:00-7:30pm - Python (Surge 284)
Titus Winters -
A sales pitch for Python and why you should bother learning a high-level
language. No slides for this one, this talk is really a live demo of
why Python is great. Files that were developed / used during this
talk are available here.
- Friday, January 30th, 3:30-4:30pm - Unix Survival Skills
(Surge 284)
Dan Berger & Titus Winters (Grad Students) -
A reprise of last quarter's popular Unix Survival Skills talk.
A quick summary of the things you need to survive here:
printing, running Windows, Open Office / Abiword / Gnumeric, basic
terminal operations, file manipulations, Google, man pages, info
pages, asking humans for help, file permissions, quota and use of
du, ssh, scp, rsync.. Slides for this talk are available here
- Friday, January 23th, 3:30-4:30pm - Make (Surge 284)
Dan Berger (Grad Student) -
A one hour introduction to the
development tool you love to hate. This seminar will cover basic
usage, variables, and enough advanced features to let you write a
single generic makefile and have it work for all of your C++ projects.
Never write a makefile again!
Slides for the talk
The Makefile
- Thursday, January 15th, 5-6pm - Emacs (Surge 284)
Dan Berger, Titus Winters (Grad Students) -
A one hour
introduction to what has been called "The World's Only Thermonuclear
Text-Editor". If programming in Linux drives you mad, and you just
wish you could be using the "nice, friendly" Visual Studio interface,
you should attend this topic. Emacs is incredibly powerful, but more
than a bit arcane. It takes a little knowledge to unleash that power,
and once you do we think you'll fall in love with it.
Slides are available here.
Fall 2003 Seminars
- Wednesday, Oct 1, 6-8pm - C++ (Surge 284)
Titus Winters (Grad Student) -
A 2 hour summary of syntax and language features for C++. Topics
covered will include g++ compilation, strings, streams, the vector
class, memory allocation / cleanup, Objects, inheritance, operator
overloading, templates, and more if time permits.
- Tuesday, Oct 7, 4-5pm - Unix Survival Skills (Surge 284)
Dan Berger (Grad Student) -
A one hour summary of the things you need to survive here:
printing, running Windows, Open Office / Abiword / Gnumeric, basic
terminal operations, file manipulations, Google, man pages, info
pages, asking humans for help, file permissions, quota and use of
du, ssh, scp, rsync.. Slides for this talk are available here
- Wednesday, Oct 15, 6-7:30pm - STL - C++
Standard Template Library (Surge 284)
Nick Soracco (UCR Undergrad)
-
An introduction to the C++ Standard Template Library. Will cover the
string, vector, list, map, and deque classes, general tips for using
STL, some STL algorithms, and where to find more information. If you
think you know C++ but don't know STL, this will be an eye-opening
seminar. This seminar will assume a good understanding of C++
language constructs and terminology. Information provided in this
talk is summarized here.
- Thursday Oct 23, 4-5pm - CVS (Surge 284)
Dan Berger
The de facto standard for version control software. Anyone that is
(or plans to) work on a multi-developer software project should have a
basic understanding of CVS. This seminar will give you that and a bit
more, in addition to arguing why you should use CVS more in your daily
life. Peter Froehlich will also give a brief summary of the
differences between CVS and SubVersion, a competing version control
system. Slides for the talk are available here,
and the cvswrappers file discussed in the talk is here
- Oct 30, 4-5pm Surge 284 - Advanced UNIX Terminal Stuff
Titus Winters & Dan Berger.
Come play stump the chump. Win candy.
- Nov 5, 6-8pm Surge 284 - Python
Titus Winters
Python is an interpreted (usually, it can be byte-compiled a la
Java),interactive, object-oriented programming language. It is often
compared to Tcl, Perl, Scheme or Java.
Python combines remarkable power
with very clear syntax. It has modules,classes, exceptions, very high
level dynamic data types, and dynamic typing. There are interfaces to
many system calls and libraries, as well as to various windowing
systems (wxWindows, X11, Motif, Tk, Mac, MFC). New built-in modules are
easily written in C or C++. Python is also usable as an extension
language for applications that need a programmable interface.
To learn Python, go read the Python Tutorial. I'd
recommend that you work through programming assignments from CS 12 or CS 14.
- Nov 13, 4-5pm Surge 284 - SSH Tricks
Titus Winters
A reduced and re-targeted version of a wonderful talk Dan Kaminsky gave a couple years
back at DefCon. SSH port
forwarding, command forwarding, pipes and stdio redirection, and the
ssh-config(5) file.
Slides. For more information, check www.doxpara.com and Google if that
fails.
- Nov 18th, 4-5pm Surge 284??? - Testing your Code: gcov,
expect, makefiles and more
Peter Fröhlich & Dan Berger.
Slides can be found here.
"Inspirational Article" about testing and such here.