TEACHING
Experience is a great thing. Gaining experience is even greater. But passing it on is the most fun.
Teacher
Our Faculty is in bit of a rough spot. After finishing your BSc, you can either decide to stay at the university for several more years to learn at MSc then PhD; or go and work for a salary higher than both your parents combined... or maybe you don't have to imagine, because this is you. Now this is where the problem starts: how do you convince people to teach informatics rather than do it? With money, of course... except that you don't have the money tech companies do. So, to ease the burden of teacher shortage, the Faculty of Informatics has decided to involve talented students from as early as possible, giving them opportunity to learn to teach, and to earn some money while also expanding their knowledge.
Programming, algorithms, data structures
Basics of programming, introduction to algorithmic thinking
Basics of a problem solving mindset
Connecting mathematical logic and programming, providing preconditions and postconditions for program plans
JavaScript
Basics of the language
DOM generating
Event handling
Canvas
Complex web applications (usually games)
Fetching
On a successive subject: Node in depth
PHP
Basics of the language
Content generating
Requests, queries
Database access
Sessions, authentication
On a successive subject: Lavarel in depth
In 2022 I was voted "Excellent teacher of the Faculty" by students, becoming the youngest teacher ever to recieve this award, and the only one who gained it without starting a PhD.
Trainer
I had to learn how to teach those around myself, because I didn't want to "waste" the skills I gained from my (unreasonably overloaded) adventures.
What is a project? What is a program?
Planning strategies: selecting the best way to start working on the project and developing a for execution, including defining project scope, setting objectives, identifying tasks, estimating resources, and creating schedules
Stakeholder classification: identifying and categorizing those who might influence the project internally or externally
Team evaluation and monitoring: spotting internal dynamics that might influence the project in either good or bad direction, identifying strengths and weaknesses, following emotional and mental state of members
Scope and benefit-effort analysis: determining what to work on what to avoid to achieve maximum productivity while not reaching for too much
Risk assessment: evaluating potentional risks and uncertainties, and mitigating them, or getting ready for when they happen
Contingency planning: preparing alternate routes for when the project hits a dead end, avoiding bottlenecks, removing irreplaceability from the system
Following milestones along the critical path is crucial, but the most important part of a project is the team – if we don't look out for them, we will fail, no matter how much we work.