SOFTWARE ENGINEERING
Professionals with an integral dominium in Computing
UPC’s School of Engineering following the international standards training for Computing professionals, offers two careers, both renowned in foreign countries that are leaders in this area.
Both programs share common core courses on the first two years, such as fundamental programming, algorithms, hardware fundamentals, data communications and the principles of information systems. Third year students may choose which program is closer to their interests and skills.
Our commitment is not to offer a generic training in IT; it is to offer a training focused in the professional profiles that are accepted and demanded in a global environment, assuring a successful insertion in the labor market.
SOFTWARE ENGINEERING
Highly globally demanded, this career may be considered as a new one. Graduates are able to professionally develop software products, a sophisticated activity, due to the quality exigencies and the complex requirements for software products. They are specially trained in the use of powerful tools such as CASE and modern software engineering technologies.
The Software Engineering Program mission is aligned with the University and School of Engineering's missions, stating that the program is intended to:
“Form professionally competent Software Engineers with a solid ground in engineering principles and current trends in computing in order to endeavor and manage projects according to the software life cycle through the conception, design and development phases of proven quality software products within the required business and professional standards”
A UPC Software Engineer is prepared to:
- Technically define the requirements of a software product.
- Design a software product.
- Lead technical and specialized teams in the development of software projects.
- Establish and apply quality tests.
- Organize and manage software development projects.
- Manage a company that develops software products.
EDUCATIONAL OBJECTIVES
Technical Outcome
Applying a broad background of science and engineering principles, to analyze, design, verify, validate, construct, apply, and maintain complex software systems.
Creative and Independent Thinking
UPC Software Engineers will apply analytical problem solving and research skills. They will be recognized as problem-solvers who demonstrate independent thinking.
Collaboration and Communication
UPC Software Engineers should be effective members in multidisciplinary teams playing different roles, and should be able to communicate effectively their ideas.
Professionalism
Graduates will conduct themselves with the ethical standards of the profession. They are prepared to occupy leading positions in their engineering field.
Lifelong Learning
UPC Software Engineers will learn and apply new and changing technologies, and will pursue graduate studies.
PROGRAM OUTCOMES
Mastering Software Engineering Areas
The student demonstrates a solid domain of the knowledge areas and has the software engineering skills as well as knowledge to start his professional activity as a software engineer.
Software Project Management
The student is able to formulate and manage a software engineering project, reconciling project objectives in conflict, achieving obligations within the constraints of time, cost, and knowledge (Knowledge of profession, application field, existing systems, and organization issues.)
Mastering Integrated Software Life Cycle
The student is able to apply in a systematic and integral way all different processes that take part in a software product life cycle, with a special emphasis in the ones that cover the identification and analysis of requirements, architecture and software component design, construction, testing, documentation and deployment, also covering software evolution issues.
Design of Right Solutions
The student is able to develop the right solutions within the application domain through the software engineering approach, approach that integrates ethic, legal, social, and economic issues. This design is for bound and unbound problem solutions, using industry and application domain standards as well as techniques, tools and current models.
Professional Performance
The student demonstrates understanding and appreciates the importance of negotiation, individual work habits, leadership, communication sills with all the stakeholders in a common software development environment.
Team Work
The student is able to work as part of a software development team, achieving synergy among all the team with the purpose to deliver quality software products.
Ethic and Professional Responsibility
The student understands the role of engineering in society and its impact on the improvement of the people life quality. He also knows the results of his professional decisions, professional practice and his inclination for the ethic code and professional practice of profession.
Autonomous Learning
The student learns new models, techniques and technologies as they emerge and knows the need of a continuing professional development.
