COMS 3101: Programming Languages (Perl)
Fall 2013
General Information |
Introduction |
Requirements |
Lectures |
Homework |
Final Project |
Grading
General Information
- Instructor: Ilia Vovsha (iv2121 at columbia dot edu)
- Office Hours: Fri 1:00-2:00pm (TA room, Mudd 122A),
Mon 3:00-4:00pm (email to notify) (10/21 - 12/9).
- Lecture: Monday 4:10-6:00pm (10/21 - 12/2).
- Classroom: 224 Pupin Laboratories
- TA: Rogers Jeffrey Leo John (rl2689 at columbia dot edu)
- TA Office Hours: Mon & Wed 10:00-11:00am (TA room, Mudd 122A)
Introduction
Course Description:
Perl was developed as a general-purpose scripting language to make report
processing easier. It gained popularity in the late 90s, and is now used
for every conceivable task from natural language processing to graphics.
This course covers the basics of the language: data structures, operators,
control flow, subroutines and I/O. It also introduces use of regular
expressions and other string manipulation techniques, as well as modules.
Recommended Text:
Programming Perl (3rd Edition), Larry Wall, Tom Christiansen, John Orwant
The online documention is quite satisfactory on its own, therefore the book is
recommended, not required.
But it is a good reference, if you need one.
Useful Links:
Requirements
- Access to Perl.
The Cunix machine (cunix.cc.columbia.edu) has Perl v 5.8.7 installed.
To access the machine type 'ssh your_uni@cunix.cc.columbia.edu'
at your terminal/shell/telnet and enter your UNI password.
Alternatively, there are
computer labs on campus where you can use your
CS account to access perl, or you can download and install perl
from the perl homepage online.
- Access to
courseworks for homework and grades.
- No textbook is required, but you are encouraged to consult the references
mentioned above.
- Some programming experience is useful, but not required.
Lectures
This is a rough (ordered) list of topics that will be covered in this class:
- Variables, types and operators.
- Statements, control flow.
- File input/output.
- Subroutines, pattern matching.
- References, data structures.
- Modules.
Lecture slides:
Homework
Instructions:
- Due at the beginning of class, 50% penalty if late. No exceptions.
- However, if you wish, you can do the extra HW and replace your lowest grade
with the grade you receive. WARNING: extra HW is as difficult as HW4.
- Place your code and any additional files into a folder, and name it
'youruni_hw#' (e.g. iv2121_hw1).
- Upload the zipped folder to courseworks (assignments folder) before the due date (4:00pm on Monday).
Problem Sets:
Solutions:
Final Project
Instructions:
- The project has two parts. Part 1 (write-up) is due December 5th, 4:00pm.
Part 2 (implementation, updated write-up) is due by December 12th, 11:59pm.
- Late submissions (write-up or implementation) will not be accepted. No exceptions.
- Place your code and any additional files into a folder, and name it
'youruni_project' (e.g. iv2121_project).
- Upload the zipped folder to courseworks (assignments folder) before the due date.
- You will receive an email with your grade and comments. If you submit your project early,
it will be graded earlier.
Project description: project
Grading
Homeworks: (4 x 15% = 60% of grade)
Project: (40% of grade)
Grading Policy: Homeworks are due on Mondays by 4:00pm. Late submissions
will be penalized by 50%. Late projects will not be accepted.