Graduate School and Research Center in Digital Sciences

Software development methodologies

[SoftDev]
T Technical Teaching


Abstract

 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

Bibliography

  Unix Power Tools 
  Online Python documentation and Tutorial
  Provided slides and material for all parts of the course.

Requirements

None

Description

* Part I: Unix history, GNU Linux environment, bash, grep, sed, awk, Vim, ...
* Part II: prototype applications in Python, integration between Python and C
* Part III: 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: 42.00
 
Grading Policy: Homework (40%), Final Exam (60%)
Nb hours: 42.00
Nb hours per week: 3.00