Checking date: 26/04/2024


Course: 2024/2025

Programming
(14184)
Bachelor in Mechanical Engineering (Plan: 446 - Estudio: 221)


Coordinating teacher: MONTERO MONTES, ALVARO

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



Objectives
By the end of this subject, students will be able to have: 1. Knowledge and understanding of the programming foundations and computer systems underlying their branch of engineering. 2. Awareness of the wider multidisciplinary context of engineering. 3. The ability to apply their knowledge and understanding to identify, formulate and solve engineering problems using computer methods. 4. The ability to combine theory and practice to solve engineering problems using computer methods.
Skills and learning outcomes
Description of contents: programme
DESCRIPTION OF CONTENTS: The purpose of the course is to give students an overview on programming techniques. As programming language, it will be used a imperative programming language. Precisely, Python is the language used during the course. PROGRAMME: 1. Programming foundations Description: This chapter introduces the essential components of computer programming and programming languages. Detailed contents: - Basic architecture of computers - Computer programming - Programming paradigms - Types of programming languages 2. Design of programs Description: This chapter focuses on the internal design of programs, paying special attention to the concept of algorithm. Detailed contents: - Computer algorithms - Analysis of algorithms - Data structures 3. Coding Description: Acquiring knowledge on coding by using an imperative programming language. Detailed contents: - Program data - Operators - Advanced data structures - Program statements - Subprograms 4. Testing and debugging Description: Learning principles and techniques about testing, debugging and deploying computer programs. Detailed contents: - Compilation-execution cycle - Testing techniques - Debugging techniques
Learning activities and methodology
- Theoretical lectures: 1,5 ECTS Lectures oriented to present the theoretical concepts on programming. - Practical lectures: 1,5 ECTS Classes in computer labs oriented to learn the use of an IDE and put into practice the syntax. - Programming exercises: 2,0 ECTS Problem-based learning. Programming different pieces of code with the purpose of understanding those conceptual, technical, and methodological principles that underlie structured programming. - Individual study: 1,0 ECTS Self-studying to prepare for partials and final exams
Assessment System
  • % end-of-term-examination 30
  • % of continuous assessment (assigments, laboratory, practicals...) 70

Calendar of Continuous assessment


Extraordinary call: regulations
Basic Bibliography
  • Peter Wentworth, Jeffrey Elkner, Allen B. Downey and Chris Meyers. How to Think Like a Computer Scientist: Learning with Python 3. https://media.readthedocs.org/pdf/howtothink/latest/howtothink.pdf. 2018
  • Stephenson, Ben. The Python Workbook. Springer. 2014
Additional Bibliography
  • Allen B. Downey. Think Python. O'Reilly Media, Inc.. 2012
  • Bill Lubanovic. Introducing Python. O'Reilly Media, Inc.. 2014
  • George W. Gorsline.. Computer Organization: Hardware Software.. PRENTICE HALL INTERNATIONAL EDITIONS..
  • Stephen D.Burd.. System Architecture. Hardware and Software in Business Information Systems.. BOYD AND FRASER PUBLISHINGCOMPANY..
Detailed subject contents or complementary information about assessment system of B.T.

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