Double Degree in International Computer Engineering and Management of Business and Technology

Programming Projects I

Description
Programming projects is a subject based in projects which are a mechanism to treat different themes such as software proves, the software requirements specification (SRS), the development tools among others. The course may be divided in two parts; in the first part students use their previous knowledge about C programming language to carry out some projects. In the second part, the projects are developed with Java programming language for the Android platform.
Type Subject
Tercer - Obligatoria
Semester
First
Course
2
Credits
3.00
Previous Knowledge

It is recommended that the student has previous knowledge about Java and C programming and about modeling in UML language.

Objectives

Objective 1
Introduce the student in a software development process, from its specification to its launching.

Objective 2
The student must acquire a practical knowledge of the different platforms explained in the subject.

Objective 3
That the students learn to work in the design and development of different environments and work groups.

Contents

The subject treats the following points in their projects.

1. Functional requirements
2. Non functional requirements
3. Use cases
4. Use case diagram
5. Activities diagram
6. White-box testing
7. Black box testing with CppUnit and JUnit
8. Debug
9. Asymptotic costs and execution time
10. Style guides
11. Doxygen code documentation
12. Review of the versions: SVN and CVS

Methodology

The subject has two different components; it is divided in two blocks: theory and practice. Students work in both blocks simultaneously along the whole course.

1) Magisterial classes: the professor explains the student the platforms that make up the subject´s principal axis. The platforms are the vehicle to introduce the projects that compose the subject.
2) Group practices, projects development. The student must design and develop the final solution for the project following a stated methodology.

Evaluation

In the evaluation of the subject, the following aspects will be taken into account:

F. Reports/group works
G. Practical works using the computer
I. Presentations

Final grade = Project´s grades average

Project´s grade - F, G, I

Evaluation Criteria

1. Basic general knowledge about the studied area [, I]
2. Oral and written expression in the own language [A, F, I]
3. Information management abilities (abilities to search and analyze information coming from different sources) [F, I]
4. Problem solving [A, F, G]
5. Team work [F, G]
6. Capacity to communicate with not-expert-in-the-subject people [I]
7. Capacity to apply knowledge into practice [F, G]

Basic Bibliography

1) UML Distilled, a brief guide to the standard Object Modeling Language. Martin Fowler. Ed Addison Wesley
2) Oracle webpage: http://www.oracle.com
3) JUnit webpage: http://www.junit.org
4) Allegro webpage: http://alleg.sourceforge.net
5) Doxygen webpage: http://www.stack.nl/~dimitri/doxygen

Additional Material

1) Eclipse webpage: http://www.eclipse.org
2) MinGW webpage: http://www.mingw.org
3) Android developers webpage: http://developer.android.com