You have a handful of exercises to complete over the course of the semester. These exercise cover both theory and practice of modern software engineering techniques. There are both written and programming components.
| Exercise # | Topics | Due Date |
|---|---|---|
| 1 | Design | Wed Jan 18 @23:59 |
| 2 | Performance | Fri Jan 27 @23:59 |
| 3 | Testing | Tues Feb 7 @23:59 |
| 4 | Symbolic Execution | Fri Mar 3 @23:59 |
| 5 | Dynamic Analysis | Mon Mar 27 @23:59 |
| 6 | Static Analysis | Mon Apr 11 @23:59 |
A rough schedule of planned exercises is below, subject to change.
| Day | Exercises | |||||
|---|---|---|---|---|---|---|
| E1 | E2 | E3 | E4 | E5 | E6 | |
| Jan 6 | ||||||
| Jan 10 | ||||||
| Jan 13 | ||||||
| Jan 17 | ||||||
| Jan 20 | ||||||
| Jan 24 | ||||||
| Jan 27 | ||||||
| Jan 31 | ||||||
| Feb 3 | ||||||
| Feb 7 | ||||||
| Feb 10 | ||||||
| Feb 14 | ||||||
| Feb 17 | ||||||
| Feb 21 | ||||||
| Feb 24 | ||||||
| Feb 28 | ||||||
| Mar 3 | ||||||
| Mar 7 | ||||||
| Mar 10 | ||||||
| Mar 14 | ||||||
| Mar 17 | ||||||
| Mar 21 | ||||||
| Mar 24 | ||||||
| Mar 28 | ||||||
| Mar 31 | ||||||
| Apr 4 | ||||||
| Apr 7 | ||||||
| Apr 11 | ||||||
All exercises this semester can be completed in CSIL, but they use software that is not available by default. In order to make these available to you, a special Python virtual environment can be used to automatically enable and disable access to this software by default.
To start the virtual environment from within CSIL, run:
source /usr/shared/CMPT/faculty/wsumner/base/env745/bin/activateThis activates the underlying virtual environment thats makes more recent software for the course available. You can exit the virtual environment by running:
deactivateYou can even add the source line to the end of your ~/.bashrc configuration
file to enable the environment automatically when you log in
(if you so choose).
It is also possible to work within a docker container that provides the required versions of all software that we will use this semester. Note, no support for docker will be provided. If you choose to work this way, you are on your own.
To pull the latest version of the docker image for the class, you can use:
docker pull nsumner/cmpt745:spring2023The image creates a default student user and works within their
home directory. You can start a container that maps a path on your system
into a path in the container using:
docker run -ti --name=cmpt745work --ulimit='stack=-1:-1' -v << path on your system >>:/home/student/work nsumner/cmpt745:spring2023For instance, this maps the given << path on your system >> to the location /home/student/work in the container.
If you exit from the container, you can restart it again later with:
docker start -ai cmpt745work