Codific Summer School
Codific Summer School is a fast track industry-specific training for exceptional talent. The Summer School is a high pace intensive course aimed at developing key skills essential in the industry. Codific Summer School is a set of courses including the broad spectrum of software engineering. These range from requirements specification, software architectures and design to verification and validation. The course fundamentals are inspired by the curriculum of the Computer Sciences department at the KU Leuven, which is one of the most prestigious universities in the world. We have moulded these theoretical building blocks in the practical know-how acquired in the field. The course is led by Dr. Aram Hovsepyan who has been a staff member at KU Leuven’s Computer Sciences Department for over 15 years.
Codific Summer School is an exclusive initiative reserved for top talent only in order to maximize the growth opportunity of the students.
The summer school consists of approximately 7 half days and the total price for the course is 2000,00 BGN. The course takes place in the beginning of July at Codific Burgas Offices. Subscription waivers are awarded to exceptional candidates.
Codific Summer School Schedule:
- Day 1: Tuesday 02 July: 09.00-12.30
- Day 2: Wednesday 03 July: 09.00-12.30
- Day 3: Thursday 04 July: 09.00-12.00
- Day 4: Friday 05 July: 09.00-12.00
- Day 5: Tuesday 09 July: 09.00-15.30
- Day 6: Wednesday 10 July: 09.00-13.00
Location: Codific Burgas Office
What makes this course so special?
A typical software engineering course often focuses mainly on implementation-related activities. However, a large portion of the total cost of software goes towards other activities, such as requirements analysis, software architecture, maintenance. Throughout this course, we will be focussing on these other essential aspects of the software development lifecycle.
“Did you know that fixing a requirements error in production might cost 1000 times more than fixing an implementation bug.”
Course Contents
Codific Summer School is split in 6 modules that take approximately 8 half-days. All days are very interactive and include lots of hands-on exercises (both individual as well as in a group).
Day 1: Requirements Engineering
In this module we look into the very basics of the Requirements Engineering discipline. Requirements Engineering is a science on its own touching the field of Human Psychology. The module will give you a flavor of what it takes to try to grasp the customer’s wishes. We will also look into a number of methods to specify the requirements using best practices.
Day 2: Software Architecture
Quality in general and security in particular are part Codific’s DNA. Creating quality-focused software solutions is only feasible if your software architecture is right. In day 2 we touch upon one of the toughest topics in software engineering. That is how to create and describe the software architecture of a non-trivial software system. If you still believe that software engineering is all about writing code then this course is a must for you.
Day 3: Software Design
Designing a software system requires software engineers to refine the software architecture and create the lower-level details. Software design includes detailed component / class design, database schema, high-level implementation and technology-related specifics. A great software design should be minimally complex, reusable, featuring low coupling and consistent abstractions. In day 3, we zoom into a number of design techniques. In this module we also look into automated code generation methods. Code generation will help you create fast prototypes of software systems without writing a single line of code.
Day 4: Verification & Validation. Operations & Maintenance.
In day 4 we touch upon 2 essential topics in software engineering. Remarkably an average university Master’s Degree does not cover any of these topics. It is even more disturbing that approximately 70% of the total cost of software is Operations and Maintenance.
Verification & Validation is all about testing the requirements at the different level of abstractions.
Operations will focus on the area where development ends and operations start. So this module is all about DevOps.
Day 5: Beautiful Code
“Everyone should write code” is a popular marketing phrase that we (Codificers) completely disagree with. Programming is a discipline in software engineering that aims to teach software engineers the fundamentals (such as separation of concerns, abstraction, information hiding, encapsulation). Coding is the act of copy/paste-ing code from StackOverflow.
In this module we talk about the essentials in creating the so called “Beautiful Code”.
Day 6: Offence is the best defence
We are used to corporations getting hacked on a daily basis. The root cause of the problem is the lack of proper security knowledge in the modern university curricula. Day 6 is a hands-on training on a number of security problems hacker leverage on a daily basis to breach into all sorts of systems. A security competition at the end of Day 6 will take place to decide who is the best hacker amongst the participants. This is your ticket into getting admitted into our internship program. You can find more detailed information on Day 6 in our seminar Hack Your Hackers.
Are you a student wanting to participate?
If you are a student who is interested in learning about software development from one of the best IT companies nationwide you may be eligible to get a fee waiver. Upon applying you will be given a test on fundamentals of OOP, database basics, algorithms and data structures. Make sure you give it a go! What is there to lose anyway?