Software development methodologies


 This course covers a variety of topics, all related to the use and   management of a Linux operating system. In particular, the course   is divided in three parts dedicated respectively to the command-line,  to the Python programming language, and to maintaining, compiling, and  installing applications.

Teaching and Learning Methods : Lectures and Homework Assignments




* Part I: Unix history, GNU Linux environment, bash, grep, sed, awk, Vim, ...
* Part II: gcc, makefiles, autotools, diff & merge, svn, git* 
Learning outcomes:
 Students will learn how to quickly solve everyday problems in a Linux  environment, using a combination of existing command-line tools and  prototype programs written in a scripting language.  Students will also learn a number of basic foundations of software development in the Linux environment, including SVN and GIT, writing makefiles, and using the autotool suite to compile and install applications from source  code.
Nb hours: 21.00
Grading Policy: Homework (40%), Final Exam (60%)