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 into 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.

Course Policies: Attendance is encouraged. Homework must be handed in on time.






Part 1:  

  • Unix history,
  • GNU Linux environment,
  • bash,
  • grep,
  • sed,
  • awk,
  • Vim,
  • ...

Part 2:

  • GCC
  • Makefiles,
  • Autotools,
  • Diff & merge
  • Svn,
  • Git

Learning Outcomes:

  • Quickly solve everyday problems in a Linux environment, how to use the command line and how to prototype a software application with a scripting language.
  • Learn several basics of software development in the Linux environment, including SVN and GIT, developing Makefiles, and using the auto tool suite for compiling and installing a software application.

Nb hours: 21.00


  • Homework (40 % of the final grade),
  • Final exam (60 % of the final grade).