Programming Methodology
Development of individual skills necessary for designing, implementing, testing and modifying larger programs: use of various modern automated tools, design strategies and patterns, working with large code bases and libraries, code refactoring.