It is assumed that students have a solid programming background before attending this course. Students can visit the following resources to review important background:
In the context of EPL421, students can use a Linux virtual machine at home on their own laptop. In case the students don't have Linux already, they can run it as an image on top of macOS or Windows. Windows WSL is not used in the course because many of the low level system calls we will cover are not supported. Our setup during Lab 1 contains Oracle VirtualBox, including and Ubuntu Server.
Please follow the current official EPL421 Virtual Machine instructions:
In the context of this course, students will also be offered their own (container-based Linux) Virtual Machine on a UCY machine! This will allow the students to have "root" access and carry out the course assignments on university equipment. Particularly, we use OpenVZ virtualization.
The specs of the VPS are minimal (but adequate for the purpose of this course):
The given machine can be accessed in the following ways. Please notice that your VPS is only accessible from the local Departmental network. To access your VPS from home, please use one of the below:
To install a service to your VPS use the following:
# Define the software package repository
$ export http_proxy='http://proxy.cs.ucy.ac.cy:8008'
# To install some software use yum (e.g., vsftpd)
$ yum install vsftpd
# To check the service status
$ service vsftpd status
# To start the service
$ service vsftpd start
“Starting vsftpd for vsftpd: [ OK ]”
# To edit the configuration file
$ vi /etc/vsftpd/vsftpd.conf
# To restart service
$ service vsftpd restart
“Shutting down vsftpd: [ OK ]”
“Starting vsftpd for vsftpd: [ OK ]”
# To shutdown service
service vsftpd stop
“Shutting down vsftpd: [ OK ]”
C Language Answers to Frequently Asked Questions, [TXT]
Recommended C Style and Coding Standards, [PDF]
The association of C & C++ Users