Frequently Asked Questions

Introduction      FAQ   Glossary   TD 1   TD 2   TD 3   TD 4   TD 5   TD 6   TD 7

Back to the lecture.

What will the final exam look like?

The final exam will be bilingual, and will attempt to minimize the amount of Java and shell programming. Instead, it will feature general design issues, program debugging and understanting problems, questions about software and hardware architecture, as well as generic questions involving generic mathematical, algorithmic and programming skills.

All documents are allowed. Electronic equipment is allowed, but discouraged. Remote connections to the Internet or to neighboring devices are forbidden.

How to prepare the final exam?

First, revise the exercices and examples studied during the labs (with solutions). Refer to the course for the context and more abstract information about the technical issues involved in every software or hardware design.

You should master the following concepts and skills to maximize your chances to pass with a good grade:

  • following the main steps and tasks conducted by a Java program, as studied in the labs, with its usage of classes and methods of the standard Java or Android toolkit;
  • reading and understanding a shell script with basic regular expressions and commands, as studied in the labs;
  • writing simple network connections with nc and the Java socket programming interface;
  • writing multithreaded Java code, and understand the Android callback mechanism to communicate with the master thread in charge of the graphical user interface;
  • understanding the concepts of device driver, device node, mount point, pseudo file system (proc, sysfs);
  • master the main ideas behind the von Neumann architecture and its components;
  • understanding data representation and storage issues, serial data communication, and bus arbitration concepts.
How do I find help on Linux commands?

For a general explanation of how a command works, please look up its man page on one of these sites:,

Quick reference in French from Christophe Blaess:

To know in detail which options and commands are supported by the version included in the modified Android development kit, please referer to the BusyBox manual.

How do I edit text files on Android?

One way is to write the file on your system (using your favorite text editor), and then run adb push on the command line to upload the file to Android.

But like most Unix systems, (our modified version of) Android also offers several text editors that can be run directly from the shell: