yapc::eu 2014 :: lighting talk :: perl @ sofia university
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.TRANSCRIPT
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