YAPC::EU 2014 :: Lighting Talk :: Perl @ Sofia University

Preview:

DESCRIPTION

A brief resume of what we accomplished with the Practical Perl Programming lectures at Faculty of Math and Sciences at the state Sofia University.

Citation preview

Perl at Sofia University

giving the Practical Perl Programming lectures 2004-2014

YAPC::EU Lighting Talkby 'stelf'

Origin

• A voluntary class... and a voluntary work

• First issue got almost 400 attendees

• Initially quite challenging

• Perl5 only

• a total of 90 hours per semester

Why am I doing it now?

• teaching assistant• class I'm teaching

– Intro to Programming– Object Oriented Programming w/C++– Database Design and Systems– * Practical Perl Programming– * Versioning Systems and IDEs– * Grammars for Generative Art – * Advanced Javascript

Team

• Marin Marinov (until 2005)– currently at HP

• Gheorghi Penkov– Faculty of Math and Informatics at SU

• Petar Pentchev– currently at StorPool

• Evgeni Kunev - 2011, 2012

• a non-profit intiative

PPP History

• 2003, 2004, 2005 - Sofia Unviersity

• 2006, 2007 - New Bulgarian University

• 2011 to date - Sofia University again

• attended by a total of more than 800 students for the time being

Why would we do it?

• we loved perl... a lot. And we still do.

• we have already used it for some 5 years

• we wanted to try what is it having a class at the university

• we though we knew some things better that our professors...

Feedback

• Rumour has it people actually like it

• Though mostly tough geeks make it through to the end

• Projects submitted implicate a good level of understanding

• constantly being improved

Some vague statistics

• 2003/2004 - some 400ppl

• 2004/2005 - some 250ppl

• 2005/2006 - some 150ppl

• 2011 - 30 something • 2012 - 30 something• 2013 - 20 something

Recent Innovations

• teaching by example while making errors

• using TeamViewer to get people in

• using Moodle for interactive tests

• covering modern stuff like Moo* mops, IO::Async, DBIC, etc.

Excerpt from the RegEx lecture

Da teeeeesttt sux 1000000 (million) timesssss

^ $

(е+)

([\D\s]+)

.+? (\d{5,10}\s) (.*)

i

.*?

s

.*

$1 $2 $3 $4

#!/usr/bin/perl

$a =‘Da teeeeesttt sux 1000000 (million) timesssss ';$a =~ /^.+?(e+)([\D\s]+)(\d{5,10}\s)(.*)i.*?s.*$/;

Excerpt from the RegEx lecture

Excerpt from the references lecture

mry

jro

pte

windows linux

beos bsd dos

freebsd sunos vms

A glimpse into

• Examples of examples

• The Schedule

• The end-of-semester projects

• The intermediate tests

Challanges

• People are afraid to use the console debugger

• understanding the context paradigm

• getting used with the vast amount of new syntax

• working with CPAN installations on Windows

• packing / unpacking

• indexing letters in strings

Where is it going

• will probably have to be split in two parts

• needs more help, that is hard to find

• would be great to be completely taped and uploaded

• will benefit a lot from a automated testing environment

• eventually move to Perl6 at some point