Introducción a la Programación
- Prácticas de Aula/Semina (7 Hours)
- Tutorías Grupales (2 Hours)
- Prácticas de Laboratorio (28 Hours)
- Clases Expositivas (21 Hours)
This course is part of the Programming subject within the Core Training module, together with the subject Programming Methodology which is its natural continuation in the second semester. The subject Programming also comprises the following subjects: Data Structures, Programming Technologies and Paradigms, Algorithmics, Programming Languages Design, Entertainment and Videogames Software, Software for Mobile Devices and Robot Software.
This course is taught during the first semester of the academic year. It has got 6 ECTS credits, divided into 150 working hours; 60 of them are class hours and 90 correspond to personal work of the student.
This course will have 2 hours of lectures a week (up to 21 hours), one hour of seminars (up to 7 hours), 2 hours of laboratory practice (up to 28 hours) and 2 hours of group tutorials.
The general contents of the course are the following: Introduction to Analysis and Design in Software Engineering. Programming Basics. Introduction to Software Development Methodologies. Basic Programming Elements and Structures.
No specific prerequisites are needed.
The competences the student must acquire in this course are part of the competences defined for the degree. In some cases a second level is provided when the competency to develop in this course belongs to a competency shared with other courses.
1- Specific competences
Bas.4 | Basic knowledge of computer use and programming, operating systems, data bases and engineering software. |
Bas.5 | Knowledge of the structure, organization, operation and internetworking of computer systems, programming basics, and their application to solve engineering problems. |
Com.7 | Knowledge, design and efficient application of the more appropriate types and data structures for a given problem. |
Com.8 | Ability to analyze, design, build and maintain applications in a robust, safe and efficient way, choosing the more appropriate programming paradigm and language. |
2- General competences
CG3 | Ability for abstraction. |
CG5 | Ability for the analysis, selection and application of basic and supporting software tools. |
CG6 | Information research, analysis and management to produce knowledge. |
CG11 | Ability for team work. |
CG20 | Creativity. |
CG22 | Planning and organization ability. |
CG25 | Critical thinking. |
CG26 | Ability for autonomous learning and work. |
CG28 | Motivation for quality. |
3- Learning Results
RA.P-1 | Knowledge of the basic use of computers, programming, and engineering programs. |
RA.P-2 | To know the structure, organization and operation of systems, the fundamentals of programming and their application to solve engineering problems. |
RA.P-3 | Analyze, design, implement, select, evaluate and maintain computer applications and systems, assuring their reliability and quality by applying the theories, principles, methods and practices of software engineering. The most appropriate paradigm and programming language should be chosen considering limitations in cost, time, existence of previously developed systems, and the organization limitations themselves. |
RA.P-4 | Knowledge and application of the basic algorithmic procedures of the basic computer science technologies used to design solutions, analyzing the suitability and complexity of the proposed algorithms. |
Based on the aforementioned objectives the following contents are chosen:
- The object model
- Objects.
- Attributes.
- Methods.
- Classes.
- Fundamental elements in an object oriented programming language
- Syntax and semantics.
- Basic data types.
- Constants and variables.
- Assignment and expressions.
- Control structures.
- Input/Output.
- Fundamental data structures
- Arrays.
- Strings and string processing.
- Advanced elements in object oriented programming
- Encapsulation and information hiding.
- Class hierarchies.
- Methodologies and quality software development
- Fundamental concepts on analysis and design.
- Use of software modeling languages.
- Documentation.
Debugging, testing and validation.
The main relations between contents and competences are shown in the following table:
Lesson | Specific competences | Transversal competences |
Lesson 1 | Bas5.3 | CG3,CG20 |
Lesson 2 | Bas4.1, Bas5.3, Com7 | CG3, CG6, CG26, CG20,CG28 |
Lesson 3 | Bas4.1, Bas5.3, Com7 | CG6, CG11, CG20,CG28 |
Lesson 4 | Bas4.1, Bas5.3, Com7, Com8.1 | CG3,CG26 |
Lesson 5 | Bas4.1, Bas5.3, Com7, Com8.1 | CG3, CG20, CG28, CG11 |
To carry out active learning and develop the competences that have been specified, in this course different types of activities are applied:
- Theory: Traditional lectures, complemented when appropriate with the realization of online questionnaires carried out individually, with the discussion of the results, and with the proposal of small exercises to solve, either individually or in a team.
- In-class Practice: Face-to-face classes where the problem-based learning method is fundamentally used. In each class, a series of exercises will be proposed to be carried out individually and/or in a group, with the subsequent discussion and sharing of the solutions.
- Laboratory Practice: Face-to-face classes where the project-based learning method is mainly used. During the course, projects are gradually developed in a guided manner, proposing in each class the functionality to be implemented by the student and supervised by the teacher.
Exceptionally, if sanitary conditions so require, online teaching activities may be included. In such case, the student will be informed of the changes made.
The tables below summarize the contents that will be addressed, sorted by activity type, specifying the number of in-class and out-off-class hours.
ACTIVITIES | Hours | % | Totals | |
In Class work | Lectures | 21 | 14 | 60 |
Classroom practices / Seminars / Workshops | 7 | 4,7 | ||
Field/Computer/Laboratory/Language practice | 28 | 18,7 | ||
Hospital/Clinical practice | ||||
Group tutorials | 2 | 1,3 | ||
External practices | ||||
Evaluation sessions | 2 | 1,3 | ||
Distance Learning work | Group work | 9 | 6 | 90 |
Individual work | 81 | 54 | ||
Total | 150 |
This course requires a prominent level of ongoing assessment and cooperative learning by means of tests in the lecture room, the seminars and the computer labs, which can be both individual and collective.
The evaluation includes:
- Theory mark: Exams to supervise the learning progress of the theoretical part of the course. These exams can include multiple-choice questions, short answer questions and/or long answer questions.
- Seminars mark: Student work to be developed during the course seminars.
- Laboratory mark: Continuous evaluation of assessments and projects in the classroom. During the evaluation of each project, the instructor will ask the student to introduce new features in the code or to modify and/or enhance the current ones.
At the end of this evaluation process the student will get the following preliminary mark:
Preliminary mark = 0.25 * Theory + 0.1 * Seminars + 0.65 * Laboratory.
Nevertheless, to approve the whole evaluation process, it is required that:
- Minimum attendance. A minimum attendance record of 80% in theory lectures, 80% in seminars and 80% in the laboratory.
- Minimum Score: The student must obtain at least 3 points (out of 10) in each evaluation activity. This includes each and everyone included in theory, seminars as well as the laboratory projects.
If all the requirements are accomplished, the final mark will be
Final mark = preliminary mark.
Otherwise, if the student participated in evaluations whose weight over the global score reaches at least its 50%, the final mark will be:
Final mark = Minimum (4, preliminary mark)
Automated plagiarism detection software might be used along the evaluation process. Both the plagiarist as well as the authors of the code will get a score of 0 points. As a result, they will lose their rights to participate in the continuous assessment process.
Those students that have not passed the continuous evaluation would be assessed the following way:
Ordinary Call
This evaluation is for only those students who achieved the minimum attendance requirement, got a preliminary mark >=3, done all the test (theory and lab) and submitted every single homework or project.
Laboratory Exam. The students will develop a project in the laboratory to be evaluated by the instructors.
The project will include the development of basic functionality (based on several different items) whose level of implementation, test and documentation must reach a 100% operational level to obtain the minimum score (5). The project will include the development of an advanced functionality whose level of implementation, test and documentation will determine a final score between 5 and 10.
The final grade corresponds to the grade of this examination.
Those students who approved the subject through the continuous assessment process but have decided to participate in this call, will lose the previous grade which will be replaced by the grade obtained in this exam.
Special and Differentiated Assessment Call
Laboratory Exam. The students will develop a project in the laboratory to be evaluated by the instructors.
The project will include the development of basic functionality (based on several different items) whose level of implementation, test and documentation must reach a 100% operational level to obtain the minimum score (5). The project will include the development of an advanced functionality whose level of implementation, test and documentation will determine a final score between 5 and 10.
Exceptionally, if a sanitary alert is declared, online evaluation activities could be included. In this event, the students will be informed about the changes applied.
Bibliographic references
- Objects firsts with Java – A practical Introduction using BlueJ. David J. Barnes and Michael Kölins.Pearson Education; 3rd. edition.
Online references
- The Java Tutorial. Oracle.http://download.oracle.com/javase/tutorial/
- Free Electronic Books. Thinking in Java http://www.mindview.net/Books/TIJ/
All of the information, studying materials and resources used during the course will be available in the corresponding website at the Virtual Campus of the University to which every enrolled student will have access.