Degree in Computer Engineering

Study Computer Engineering at La Salle and become a professional with the abilities to work with the latest technologies and new products, designing, implementing and maintaining computer systems for any sector of economic activity

Programming Projects I

Description
Code programming is a practice-based science which is usually structured in projects. This is the starting point for the Programming Projects I subject. The goal of the subject is to dive into the world of programming by means of developing projects that will allow the student to learn in a dynamic, hands-on, self-learning and cooperative way. The subject aims to supply the student with techniques and knowledge (both theoretical and practical) that will allow them to confront the challenges of programming. The lectures will be mainly practical and the theory concepts explained will be put in practice using exercises and projects (individually or in a group).
Type Subject
Tercer - Obligatoria
Semester
First
Course
2
Credits
3.00

Titular Professors

Previous Knowledge

Programming Methodology and Technology

Objectives

Provide the student with a set of tools that allow them to develop software more quickly and efficiently.
Provide the student with tools and skills for teamwork.

Contents

1. Team-oriented project development tools
2. Software testing
3. Software debugging

Methodology

The lectures of the Programming Projects I subject aim to introduce the student to the methodologies and tools required to successfully develop any programming project (as a team or individually). This subject initiates the student in the critical thinking needed to be able to plan, design, develop and validate programming projects. Additionally, the subject will introduce tools to support the proper development of such projects.

It’s also a subject mainly based in projects, which are intertwined with master classes and complemented by exercises and workshops, where the concepts seen during the subject’s chapters are applied.

Evaluation

This subject’s final grade will be calculated as a weighted average of the three chapters forming its content (Development tools, Testing, Debugging)

𝑆𝑢𝑏𝑗𝑒𝑐𝑡 𝐺𝑟𝑎𝑑𝑒 = (C1 Grade + C2 Grade + C3 Grade) / 3

This average will only be applied if each chapter has been successfully completed (its grade must be greater than or equal to 5).
Each chapter will be evaluated separately depending on its set of exercises and projects. In order to take those grades into account, all exercises must be handed in.

The subject won’t be evaluated with exams, which means there will be no midterm or final examinations. Thus, all activities done in class will be highly significative when it comes to the cheating regulation.

In the scenario of needing to resit this subject, there will be a resit exam during the designated period.

Class assistance and activity participation (in class or virtually) are fundamental elements in order to follow the subject’s contents and achieve a good grade.

Evaluation Criteria
Basic Bibliography

KLEMENS, BEN. (2014). 21st Century C. 2a edició. O'Reilly Media, 2014. ISBN 978-1-4919-0389-6.
SALVADOR, J. CANALETA, X. (2015) Programació en C per a sistemes UNIX, Publicacions La Salle, Setembre 2015.
VERNET, D. SALVADOR, J. (2011). Introducció al llenguatge de programació C, Publicacions La Salle, Juliol 2011.
AGANS D.J.(2002) Debugging. The 9 indispensable rules for finding even the most elusive software and hardware problems, Amacom, 2002, ISBN 0-8144-7457-8.
STALLMAN, RICHARD M. SUPPORT, CYGNUS. (1996). Debugging with GDB: The GNU source-level debugger. [Online]
Boston, MA : Free software foundation, 1996. ISBN 1-88211-409-4. Disponible a: https://sourceware.org/gdb/current/onlinedocs/gdb/
MORGADO, ALEKSANDER. (2010). Understanding Valgrind memory leak reports. [Online] 4 Febrer 2010. http://es.gnu.org/~aleksander/valgrind/valgrind-memcheck.pdf
Proyectos de Programación I Curs 2020-2021
VALGRIND DEVELOPERS. (2015). Valgrind User Manual. [Online] 22 de http://valgrind.org/docs/manual/manual.html.
ATLASSIAN. Git Tutorials and Training. [Online] https://www.atlassian.com/git/tutorials/ GIT. Git – Documentation. [Online] https://git-scm.com/doc

Additional Material