Checking date: 13/06/2023


Course: 2023/2024

Programming
(13490)
Bachelor in Mobile and Space Communications Engineering (Plan: 442 - Estudio: 217)


Coordinating teacher: FRAGA VAZQUEZ, ANABEL

Department assigned to the subject: Computer Science and Engineering Department

Type: Basic Core
ECTS Credits: 6.0 ECTS

Course:
Semester:

Branch of knowledge: Engineering and Architecture



Requirements (Subjects that are assumed to be known)
None
Objectives
The goal of this course is to introduce basic programming techniques useful for telecommunication applications. The programming language is Java. However, the techniques taught in the course are generic, i.e. they apply to other programming languages as well. Upon successful completion of the course, the student will be able to: - Understand the fundamentals of the imperative programming - Understand the fundamentals of structured programming - Understand and manage language data types - Understand and manage the structures of flow control - Know Java syntax - Know program testing and debugging - Analyze and understand Java programs - Localize and fix syntax and functional errors - Analyze and understand algorithms written in pseudocode or in flow diagrams - Design and develop simple algorithms based on given prerequisites - Develop simple Java programs from flow diagrams, pseudocode or functional descriptions - Have knowledge of basic search and sorting algorithms - Design, develop and execute program test plans.
Skills and learning outcomes
Description of contents: programme
PART I: Programming fundamentals - Essentials of computer architecture - Programming languages - Compiling and running code - Elements of a program: data and algorithms - Basic programming tools: algorithms, flow diagrams, and pseudo code. - JAVA language. PART II: Structured programming - Primitive data types and operators - Flow control - Conditional sentences - Loops PART III: Introduction to program testing PART IV: Advanced concepts - The String class - Arrays - Input/output PART IV: Modular programming - Organizing code in methods - Information Exchange between functions: passing parameters
Learning activities and methodology
The teaching methodology includes: 1. Lectures presenting theoretical knowledge. Basic textbooks for both theory and problems will also be recommended, which will allow the students to complete and deepen the subjects in which they are most interested. 2. Practice in computer labs, during which the students will develop and analyze programs using the theoretical concepts taught in lectures. The assignments are developed in groups, in order to promote teamwork. 3. Problem solving both on paper and with the computer, targeting self-evaluation. 4. Individual practical assignments in computer labs based on the assignments developed in groups. 5. Sharing the problems solutions and joined correction in order to develop the capacity of analyzing and communicating information relevant to problem-solving. Additionally, this activity will promote the change of critical opinions between the professor and the students and among students. 6. Use of new e-learning technologies with a known platform (edX) where students will have the opportunity to reinforce their learning based on: Cross-evaluation, self-learning, and video formats to allow the students to gain more knowledge at any time they want.
Assessment System
  • % end-of-term-examination 30
  • % of continuous assessment (assigments, laboratory, practicals...) 70
Calendar of Continuous assessment
Basic Bibliography
  • Alfonso Jiménez Marín, Franciso Manuel Pérez Montes. Aprende a Programa con Java. Ediciones Paraninfo. 2016
  • BRUCE ECKEL. "Piensa en Java / Thinking in Java". Pearson Educación. Versión española: 2002 - 2ª Edición. Versión inglesa: 2007 - 4ª Edición.
  • C. T. Wu. Introduction to Object-Oriented Programming with Java 5th edition. McGraw-Hill, 2009.
  • Herbert Schildt. Java 9. ANAYA MULTIMEDIA. 2018
  • RUSSEL WINDER & GRAHAM ROBERTS. "Developing Java software". Wiley. 2006 - 3º Edición.
Recursos electrónicosElectronic Resources *
Additional Bibliography
  • Donald E. Knuth. The Art of Computer Programming. Addison-Wesley Educational Publishers Inc. 2011
(*) Access to some electronic resources may be restricted to members of the university community and require validation through Campus Global. If you try to connect from outside of the University you will need to set up a VPN


The course syllabus may change due academic events or other reasons.