03/05

Competency 03 · of 05

Creating IT tools & applications (Programming)

Context

Level 2 (BUT2) — “Developing a networks & telecoms application”

Why — to build the tools and applications that support network infrastructures and security measures.

What — web/mobile apps, automation scripts, client/server programs, databases — all secured (authentication, encryption, input validation).

Where / When — programming SAÉs, 1st and 2nd year — in pairs (SAÉ 1.05) and in a team of 3 (SAÉ 2.03). · How — from the specification to development, testing and all the way to production.

Essential components
  • Listening to the client's needs
  • Documenting the work done
  • Using digital tools wisely
  • Choosing the appropriate development tools
  • Building security concerns into the work
Professional situations
  • Designing, deploying and maintaining a company's information system
  • Automating the deployment and maintenance of software tools
  • Developing IT tools for a team's internal use
Actions / evidence

Project 1 — SAÉ 1.05 “File reporting tool” (Python, in pairs): a GUI application that detects the 100 largest files in a directory (interactive chart, detailed legends) and generates a PowerShell deletion script.

Project 2 — SAÉ 1.04 “Online CV”: a multi-page HTML/CSS website, a structured interactive CV (education, qualifications, experience).

Project 3 — SAÉ 2.03 “Drive” (team of 3): an order-management web application — SQL database, full CRUD (categories, products, customers, orders, order lines), product import from a file and an order sheet with the total cost, then deployment to production on two virtual machines (nginx + gunicorn).

Traces — project GitHub repository, data model, Gantt chart, source code (Python/SQL, HTML/CSS).

Takeaways — transferable know-how

Designing, developing and then deploying an application — from the need to production — and working in a team (sometimes assigned) are skills I can put straight to use in an internship and in a company.

Critical learning outcomes — Level 2 (BUT2)
  • AC23.01 — Automate system administration with scripts
  • AC23.02 — Develop an application from a given specification, for the web or mobile devices
  • AC23.03 — Use a network protocol to program a client/server application
  • AC23.04 — Install and administer a database management system
  • AC23.05 — Access a dataset from an application and/or a website