Computer Science 2718,
Software Development Tools, Work Flows, and Concepts
Winter 2016

Updates

Course Information

Instructor
Dr. Andrew Vardy
Office
EN-2018
Office Hours
Monday 10:00am to 11:50am; Meetings can be arranged at other times, by appointment.
Contact
Please contact me by e-mail at av followed by @mun.ca.
Classroom
EN-1051
Class times
Monday 9:00am to 9:50am; Wedensday 9:00am to 9:50am; Friday 9:00am to 9:50am;
Lab
EN-1049
Lab times
Monday 2:00pm to 4:50pm (see calendar below for schedule)
Website
The following is the URL for the course website. Materials such as course notes and assignments will be posted here, but I must emphasize that class and lab attendance is vital.
http://www.cs.mun.ca/~av/courses/2718-w16

Course Evaluation

Late assignments may be accepted with a signed written letter. The letter must include the period when you could not work and the reason for missing time. The number of missed days will be used to extend the deadline. Marks for missed labs or midterm with an accepted letter will be assigned to the final.

Textbook

The following is the course textbook which is available for free at linuxcommand.org:

The Linux Command Line, A COMPLETE INTRODUCTION; William E, Shotts, Jr.; No Starch Press; ISBN-10: 1-59327-389-4; ISBN-13: 978-1-59327-389-7;

Class Presentations

Each student must present a 10 minute presentation (plus 5 minues for questions). These presentations will occur in the last 15 minutes of class. The time slots available are indicated in the calendar below as slots A-K. You are free to present on any interesting (i.e. non-trivial) command as long as it is not already covered in the textbook. The following are possible choices:

Please e-mail the instructor with your most preferred time slot and topic. First recieved will be given preference.

Each presentation should describe a particular command line tool and give example workflows and a brief discussion of relevant concepts. The material for the presentation can come from a variety of sources, but it is crucial that the presentation consists of original material.

The presentation itself should be created in Markdown format and must be submitted to the Instructor along with compiled HTML or PDF files two days before the in-class presentation. I recommend pandoc as a tool for converting from your Markdown file to an HTML file or PDF presentation.

Course Schedule

The following schedule is subject to change. Starting with lab 1 assignments will be due at the start of the corresponding lab period (e.g. assignment 1 is due at the beginning of lab 1).

Tentative Topic Schedule

Week 1
command line intro, hw basics, os fundamentals [ch 1]
Week 2
basic git, file system navigation, globing file commands, [ch 2, 3, 4, 5]
Week 3
commands, redirection, text tools, cmd-parsing, cmd-expansion, [ch 6, 7, 8]
Week 4
number systems, permissions, processes, shell environment, [ch 9, 10, 11]
Week 5
shell script programming, [ch 24, 25, 26, 27]
Week 6
git theory and work flows, diff and patch [ch 20]
Week 7
shell script programming (midterm break) [ch 28]
Week 8
shell script programming, [ch 29, 30, 31, 32, 33, 34, 35]
Week 9
zip, tar, networking status, networking transfers, Ubuntu packages, [ch 16, 17, 18, 14]
Week 10
regular expressions, small c programming, make, gdb
Week 11
java compiling, ant, ivy
Week 12
eclipse, java debugging
Week 13
system administration, review

Software

The tools used in this course are available in all modern desktop operating systems, although further configuration is required for some:

There are some instances where the particular OS used will be important. In those cases, we will be using Ubuntu 14.04. You can install this on your own machine if you choose but it may be easier to run it within virtualization software such as VirtualBox. VirtualBox needs an image of the OS in order to run it. I use this one which has additional features for robotics (which we won't be using). But you could also look for another simply by googling "Ubuntu 14.04 desktop ova". Be warned that these ".ova" files are quite large.

If you do all of your work in the lab (EN-1049) then you don't need to worry about any of the above. Just run Ubuntu.

Slides

Assignments

Labs

Accommodation of Students with Disabilities

"Memorial University of Newfoundland is committed to ensuring an environment of understanding and respect for the dignity and worth of each student and also to supporting inclusive education based on the principles of equity, accessibility and collaboration." For more information on Memorial University's commitment to accommodation of students with disabilities, see http://www.mun.ca/policy/site/policy.php?id=239.

Notes