Programming and software development for engineers
CIVIL-127 / coefficient 3
Enseignant(s): Alahi Alexandre Massoud, Menghrajani Alok Deshmukh
Langue: Anglais
Summary
Python programming course to advance students' existing programming skills and help write better software. The course will teach best practices and techniques such as refactoring, debugging, and unit testing.
Content
Review major Python features (any feature available in 3.12.x is in scope), such as:
- Basic data types (str, int, float, bool, list, tuple, sets, dictionaries)
- Loops
- Control flow
- Classes
- Common librariesTooling (IDE, linters, type checkers, etc.)
Writing testable code
- Unittesting
- Integration testing
- Dependency Injection
- Code coverage
Debugging techniques
Selected topics in the field of software design
- Common patterns
- Common pitfalls
Using git to manage a codebase
- Basic commands in a CLI.
- Splitting large commits into smaller chunks
Technical writing
- Writing technical documents
- Writing effective comments
- Writing effective error messages
Keywords
Python, software development
Learning Prerequisites
Required courses
Basic knowledge of python
Learning Outcomes
By the end of the course, the student must be able to:
- Apply industry-standard best practices in Python programming.
- Develop clean, testable and easily reviewable code.
- Assess / Evaluate existing codebases to improve code quality and functionality.
- Test ,debug and fix bugs in a systematic and efficient manner.
- Implement new features in existing large-scale software projects.
Transversal skills
- Evaluate one's own performance in the team, receive and respond appropriately to feedback.
- Respect relevant legal guidelines and ethical codes for the profession.
Teaching methods
Class in-person lectures + labs
Expected student activities
Attend to classs lectures/labs, complete weekly programming assignements and projects.
Assessment methods
MCQ exam + grades programming assignements+project
Supervision
Office hours | No |
Assistants | Yes |
Forum | Yes |
Dans les plans d'études
- Semestre: Printemps
- Forme de l'examen: Pendant le semestre (session d'été)
- Matière examinée: Programming and software development for engineers
- Cours: 1 Heure(s) hebdo x 14 semaines
- TP: 2 Heure(s) hebdo x 14 semaines
- Type: obligatoire