Programming II and Software Engineering (2020/2021)

Course code
4S003714
Credits
12
Academic sector
-

Learning outcomes

Programming II The course will provide the ability to understand, develop and debug software written in an object-oriented programming language. It will also provide the knowledge for building software projects of middle size. At the end, students will have to show their ability to understand software written in an object-oriented programming language, as well as the structure of a complex software project; to apply their knowledge and abilities to the independent development of software in an object-oriented program- ming language, organised as a middle-size project; to understand, autonomously, the use of tools and techniques for the development of software in various application contexts. Software Engineering The aim of this course is to provide the basic scientific and professional skills relate to software engi- neering. In particular, the course will focus on the different phases of software development and pro- duction: planning, design, modeling and specification, implementation, validation and test, evaluation and maintenance. The lab activities will provide skills required for the development of graphical user interfaces both in Java and Phyton. At the end of the course, the student will have to show: her knowledge about the software develop- ment process and the related methodologies and techniques; her ability to apply the acquired knowledge to develop and analyse software systems, even considering graphical user interfaces with Java/Phyton; her skills in communicating and interacting with different stakeholders when designing, implementing, and using a software system in complex organizations; the capability of extending her knowledge and skills for autonomously continuing her studies related to software development tech- niques, even considering different application domains.