Scheduling and Task Automation for Distributed Environments

Base Knowledge

  • Programming – Fundamental concepts of logic, data structures, and algorithms.
  • Operating Systems – Functioning, process management, and basic administration.
  • Computer Networks – Protocols, system communication, and security.
  • Fluent Reading in Portuguese – Effective comprehension and interpretation of technical documentation.

Teaching Methodologies

Theoretical Classes: Explanation of programming concepts in distributed environments. Theoretical content is supported by real-world scenarios, reinforced through discussions on approaches and solutions. The theoretical concepts will provide the necessary foundation for understanding and applying task automation solutions.

Practical Classes: Programming based on exercises with increasing complexity, building the foundations for programming in distributed environments. Promotion of practical group projects to encourage knowledge sharing.

Learning Results

The present curricular unit aims, in an initial phase, to consolidate concepts of distributed application programming by introducing languages, libraries, interfaces, and environments that support rapid development. In a second phase, these concepts and tools should be applied in the development of solutions for automating common tasks in communication networks, providing students with a comprehensive view of the most popular approaches in this field.

The competencies focus on enabling students to program in appropriate programming languages for operating system management from a distributed perspective. They should understand the concept of libraries and frameworks necessary to minimize development effort while maximizing the intended outcome. Additionally, they should grasp the concept of software testing to produce high-quality products. Finally, they should understand and apply IT automation solutions.

Program

1. Programming of distributed applications

2. Languages and environments for rapid application development.

3. Function libraries supporting the automation of network and system management tasks

4. Automation of tasks in operating systems.

Curricular Unit Teachers

André Filipe Marques Trindade

Grading Methods

 

  • All students must ensure that their mailbox is operational, checked daily, and has sufficient space to receive regular emails to maintain a reliable communication channel with the course instructor. Deadlines and other elements communicated via email that are not met may result in failing the curricular unit.
  • The assessment methodology adopted for this Curricular Unit (CU) follows the M1 methodology established by the School. As clarified in an email from the Vice-President of ISEC (2021/11/19; 18:07), this methodology consists of continuous and/or periodic assessment, which concludes before the exam period, meaning there is no later assessment or final exam.
  • Students with a special status, duly recognized by the Academic Services, which formally justifies their inability to attend classes regularly, must inform the instructor via email as soon as possible with proper documentation, so that alternative assessment moments can be scheduled, accommodating their justified constraints. These students are also responsible for following the curricular unit from the beginning of the semester and maintaining regular contact via email and through Nónio with the instructor.
  • Students who attended the previous edition of the course without passing but with the required minimum attendance (75% or more of classes, including justified absences) should follow the same procedure as students under special status who cannot attend the course regularly.
  • Any student unable to attend an evaluation moment due to a justification validated by the course coordinator must notify the instructor via email as soon as possible to arrange an alternative evaluation date.
  • The final grade is calculated based solely on continuous assessment or, alternatively, the final exam. In continuous assessment, the following elements are considered: two theoretical-practical tests, two practical assignments, attendance, and student participation in class. The weight of the assessment components is as follows:
  •    The two tests account for 30% of the final grade, with a minimum required score of 40%.
  •    The two practical assignments account for 60% of the final grade, with a minimum required score of 40%.
  • Attendance and student participation in class account for 10% of the final grade.
  • To meet the minimum requirements in continuous assessment, students must achieve the minimum scores in both tests and practical assignments, as well as obtain a final grade higher than 47.5%.
  • Students with attendance lower than 75% are automatically disqualified.

    Internship(s)

    NAO

    Bibliography

    Red Hat, Inc. (n.d.). *Ansible documentation*. https://docs.ansible.com/
    pytest developers. (n.d.). *Pytest documentation*. https://docs.pytest.org/
    Python Software Foundation. (n.d.). *PEP 8 – Style guide for Python code*. https://peps.python.org/pep-0008/
    Python Software Foundation. (n.d.). *PEP 257 – Docstring conventions*. https://peps.python.org/pep-0257/
    Python Software Foundation. (2010). *Python 2.7 documentation*. https://docs.python.org/2/