340368 - FOPR-I1O23 - Fundamentals of Programming



Similar documents
Project Management

SEAX-C9X44 - Network Security and Administration

ML for the Working Programmer

ADVANCED SCHOOL OF SYSTEMS AND DATA STUDIES (ASSDAS) PROGRAM: CTech in Computer Science

Energy and Construction

Thomas Jefferson High School for Science and Technology Program of Studies Foundations of Computer Science. Unit of Study / Textbook Correlation

COWLEY COLLEGE & Area Vocational Technical School

SICSB - Information Systems and Communications for Health Services

BCS2B02: OOP Concepts and Data Structures Using C++

CS 261 C and Assembly Language Programming. Course Syllabus

METNUMER - Numerical Methods

Eastern Washington University Department of Computer Science. Questionnaire for Prospective Masters in Computer Science Students

DoQuP project. WP.1 - Definition and implementation of an on-line documentation system for quality assurance of study programmes in partner countries

Environmental Science and Technology

Assessment for Master s Degree Program Fall Spring 2011 Computer Science Dept. Texas A&M University - Commerce

COMPC2 - Cost Accounting II

GEET-I6O32 - Ict Business Management

Duration Vendor Audience 5 Days Oracle End Users, Developers, Technical Consultants and Support Staff

Basic Programming and PC Skills: Basic Programming and PC Skills:

Eastern Washington University Department of Computer Science. Questionnaire for Prospective Masters in Computer Science Students

Krishna Institute of Engineering & Technology, Ghaziabad Department of Computer Application MCA-213 : DATA STRUCTURES USING C

COMPUTER SCIENCE (5651) Test at a Glance

2. Advance Certificate Course in Information Technology

Data Structure [Question Bank]

MD - Data Mining

IMIT - Innovation Management and International Trade

Curriculum Map. Discipline: Computer Science Course: C++

Canisius College Computer Science Department Computer Programming for Science CSC107 & CSC107L Fall 2014

Course Title: Software Development

The Elective Part of the NSS ICT Curriculum D. Software Development

CURRICULUM VITAE EDUCATION:

Subject knowledge requirements for entry into computer science teacher training. Expert group s recommendations

Moving from CS 61A Scheme to CS 61B Java

CS135 Computer Science I Spring 2015

ALLIED PAPER : DISCRETE MATHEMATICS (for B.Sc. Computer Technology & B.Sc. Multimedia and Web Technology)

NEW YORK CITY COLLEGE OF TECHNOLOGY/CUNY Computer Systems Technology Department. COURSE: CST2403 C++ Programming Part 1 ( 4 hours, 3 credits )

02-201: Programming for Scientists

Summit Public Schools Summit, New Jersey Grade Level / Content Area: Mathematics Length of Course: 1 Academic Year Curriculum: AP Computer Science A

HARDWARE AND SOFTWARE COMPONENTS Students will demonstrate an understanding of the relationship between hardware and software in program execution.

Eastern Washington University Department of Computer Science. Questionnaire for Prospective Masters in Computer Science Students

DIRRH - Human Resource Management

Lecture 1: Introduction

CSC148 Lecture 8. Algorithm Analysis Binary Search Sorting

CS 51 Intro to CS. Art Lee. September 2, 2014

SCPD - System on Chip Physical Design

Teaching Plan. Financial Statement Analysis

Introduction to Programming System Design. CSCI 455x (4 Units)

Machine Design and Manufacturing Technologies

AND - Non-Destructive Testing

Data Structures. Level 6 C Module Descriptor

DEGREE PLAN INSTRUCTIONS FOR COMPUTER ENGINEERING

Figure 1: Graphical example of a mergesort 1.

Programming Languages

SYLLABUS Prerequisites (if necessary) 4.1 curriculum competencies Good to advanced user of office programmes

WSE - Writing Skills for Engineering

RARITAN VALLEY COMMUNITY COLLEGE COURSE OUTLINE. CISY 103 Computer Concepts and Programming

PI - Internet Protocols

An Approach to Teaching Introductory-Level Computer Programming

GPS - Software Project Management

50 Computer Science MI-SG-FLD050-02

Programme name Mathematical Science with Computer Science Mathematical Science with Computer Science with Placement

Clarification of Section 4. Teaching credentials in KTH's CV template for the employment of teachers

Sorting revisited. Build the binary search tree: O(n^2) Traverse the binary tree: O(n) Total: O(n^2) + O(n) = O(n^2)

Criteria for Accrediting Computer Science Programs Effective for Evaluations during the Accreditation Cycle

Oracle Database: SQL and PL/SQL Fundamentals NEW

AP Computer Science AB Syllabus 1

Computer Science. Requirements for the Major (updated 11/13/03)

University of Dayton Department of Computer Science Undergraduate Programs Assessment Plan DRAFT September 14, 2011

Domains and Competencies

2. (a) Explain the strassen s matrix multiplication. (b) Write deletion algorithm, of Binary search tree. [8+8]

ET - Electronics for Telecommunications

240ST014 - Data Analysis of Transport and Logistics

ITSM - Information Technology Service Management

Appendices master s degree programme Artificial Intelligence

CSE 326, Data Structures. Sample Final Exam. Problem Max Points Score 1 14 (2x7) 2 18 (3x6) Total 92.

INEL-E6O09 - Low, Medium and High Voltage Electrical Installations

Stage 5 Information and Software Technology

COMPUTER SCIENCE. FACULTY: Jennifer Bowen, Chair Denise Byrnes, Associate Chair Sofia Visa

Transcription:

Coordinating unit: 340 - EPSEVG - Vilanova i la Geltrú School of Engineering Teaching unit: 723 - CS - Department of Computer Science Academic year: Degree: 2015 BACHELOR'S DEGREE IN INFORMATICS ENGINEERING (Syllabus 2010). (Teaching unit Compulsory) ECTS credits: 7,5 Teaching languages: Catalan Teaching staff Coordinator: Others: ÀNGELS HERNÁNDEZ GÓMEZ ÀNGELS HERNÁNDEZ GÓMEZ BERNARDINO CASAS FERNÁNDEZ Prior skills Basic knowledge of mathematics for the required level at the university entrance exam. Degree competences to which the subject contributes Specific: 3. CEFB3. Ability to understand and to have a good command of discrete, logical, algorithmically mathematics and computing complexity and its application to automatical treatment of information by means of computational systems and its application to solve engineering problems. 4. CEFB4. Basic knowledge of use and computer programming, as well as of operating systems, data base and generally informatic programs with engineering applications. 5. CEFC6. Basic knowledge and application of algorithmic processes, informatic techniques to design solutions of problems, analyzing if proposed algorisms are apt and complex. 6. CEFC7. Knowledge, design and efficient use of data types and structures the most appropriate to resolve problems. Transversal: 1. SELF-DIRECTED LEARNING. Detecting gaps in one's knowledge and overcoming them through critical selfappraisal. Choosing the best path for broadening one's knowledge. 2. TEAMWORK. Being able to work as a team player, either as a member or as a leader. Contributing to projects pragmatically and responsibly, by reaching commitments in accordance to the resources that are available. Teaching methodology The course consists of: - 2 hours per week of theory class in the classroom (large group) where the teacher presents contents, - 3 hours per week in classroom lab (small group) where it's done practical work and evaluable activities are proposed and performed. Learning objectives of the subject 1. To understand the programme building process and how to use the tools required: console, editor and compiler. 2. To know the syntax and the semantics expressions and the basic instructions of the imperative programming languages (C ++). 3. Being proficient in using functions and actions in programming. 4. To understand the function and parameter concepts. 5. To know in depth the tables and to identify where their use is appropriate. 1 / 7

6. To be able to contrast solutions regarding the use of time and memory resources and to choose the most appropriate in simple cases. 7. To understand the patterns of treat-all and search algorithms patterns. 8. Choosing an appropriate scheme solution. 9. To understand the recursion concept. To be able to propose recursive solutions to simple problems. 10. To comprehend in depth the binary search, insertion sort, selection sort, mergesort and quicksort. 11. To know in depth other fundamental algorithms: Hörner, fast product, etc. 12. To be able to write programs readable, elegant and efficient. Study load Total learning time: 187h 30m Hours large group: 45h 24.00% Hours medium group: 0h 0.00% Hours small group: 30h 16.00% Guided activities: 0h 0.00% Self study: 112h 30m 60.00% 2 / 7

Content Introduction Programming examples Algorithms, programming languages and computer programs Steps in the design of a program Variables and statements Variables, data types and expressions Statements: - Assignment - Input / Output - Conditional statement Loops While statement For statement Data types and visibility Data types Type conversion Visibility 3 / 7

Subprograms: procedures and functions Learning time: 7h Subprogram concept Parameter passing Functions Procedures Algorithms on sequences. Invariants. Learning time: 7h Algorithms on sequences: - Treat-all algorithms - Search algorithms Reasoning about loops: invariants Recursion Recursive design Exemples Vectors Vectors Searching in vectors 4 / 7

Vectors and strings Practical classes: 3h More vectors examples Strings Multi-dimensional vectors Learning time: 8h Laboratory classes: 4h Matrices N-dimensional vectors Search in a matrix Search in a sorted matrix Matrix multiplication Structures and data structure design Structures Data structure design Sorting Learning time: 8h Laboratory classes: 4h Selection Sort Insertion Sort Bubble Sort Merge Sort 5 / 7

Numerical algorithms Learning time: 9h Laboratory classes: 4h Self study : 3h Product of polynomials Sum of polynomials Sum of sparse vectors Root of a continuous function Advanced examples Learning time: 7h Sports tournament Permutations Sub-sequences summing n Conclusions Learning time: 2h Why is programming hard? Useful programs Correct programs Efficient programs Programs are mathematical objects Easy to understand, modify and extend Programming has limits Quotes 6 / 7

Qualification system QU = Grade from questionnaires, all with the same weight. AC = Grade from activities, all with the same weight. PR = Grade from programming task. C1 = Grade from Exam 1. C2 = Grade from Exam 2. Nota Final = max (50%C2, 20%C1+30%C2) + 10%QU + 20%AC + 20%PR) Regulations for carrying out activities The activities (AC) and the controls (C1 and C2) are face and individual. The questionnaires (QU) are self-assessed and their delivery is electronic and individual. The programming task (PR) is done in groups. Teachers could ask about the work presented by the students and consider their answers when qualifying. Bibliography 7 / 7