Software Development

Software Development (SoftDev)
Eurecom

Lecturers

Davide Balzarotti

News

  • 3.2.2010 (NEW) Final Grades
  • 3.2.2010 The homework evaluation has been published on the "Challenges" page (link on the left of the page)
  • 20.11.2009 Next week I'm in vacation. There is going to be a lesson on Intro on Secure Programming by prof. Engin Kirda.
  • 20.11.2009 Network Problem Fixed (it was a misconfiguration of the Eurecom DNS). Now the challenge server is reachable from everywhere
  • 19.11.2009 Network Problem. The homework server is up and running but for some Eurecom routing problem is not currently reachable from inside the Eurecom network (from outside it works fine)!
  • 18.11.2009 Homeworks are online!
  • For the slides.. you gotta click on the link on the left sidebar!
  • 07.10.2009 First class - beginnning of the course

Abstract

The course aims at providing students (often coming from different universities and with different backgrounds) with a common knowledge about the concepts of programming and software development in a Unix-like environment. In particular, the course will focus on practical techniques of program development for small-scale projects produced by individuals or small groups.

At the end of the course, students will learn "how to use a computer" from a programmer's and engineer's point of view. In particular, they will learn how to use the existing command lines tools, and how to design and implement a program to solve a given problem.

This is a "hands on" class, where students have to complete a certain number of practical homeworks that contribute significantly to the final grade. The course will not cover basic programming algorithms and data structures, but it will focus on writing applications to solve practical problems.

Topics

  • Unix system and philosophy
  • Command line interface and its common tools
  • Building tools (autotools) and other development tools
  • Python scripting language
  • Basic programming techniques (network programming, security, interprocess communication)

Prerequisites

  • Basic C programming
  • Knowledge of simple algorithms and data structures


International Secure Systems Lab www.iseclab.org