YAPC::EU 2014 :: Lighting Talk :: Perl @ Sofia University
description
Transcript of YAPC::EU 2014 :: Lighting Talk :: Perl @ Sofia University
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