Objectives and competences
Objectives:
• To know and understand the basics of computer programming and algorithms development.
• To know to use an adequate programing language to code algorithms for solving simpler engineering problems.
Competences:
• Capability to combine the previously acquired knowledge and skills from mathematics and mechanics with the newly acquired knowledge for a development of computer code to solve simpler engineering problems.
Content (Syllabus outline)
Computer basics. Foundations of computer programming and computer languages. Basic elements of a computer language: variables, expressions, control structures, data input and output. Basics of algorithm design: modular structure, basics of object oriented programming. Programming of user interfaces and frequent numerical procedures in mechanical engineering.
Learning and teaching methods
• lectures,
• practical work at computer lab exercises,
• coursework,
• seminar work
Intended learning outcomes - knowledge and understanding
• Recognize the basic building blocks of the algorithm needed to solve the considered problem.
• Formulate a flow chart necessary for building the code.
• Analyse the options for alternative variants of code organization (functional, object oriented programming).
• Write the program code for the solution of the considered problem.
• Estimate the code efficiency and limitations in its use.
Intended learning outcomes - transferable/key skills and other attributes
• Ability to solve given tasks by advanced use of computers
Ability to use procedural, declarative, and object oriented programming techniques individually
Readings
1. S. Divjak: Programiranje 2, Fakulteta za računalništvo in informatiko, Univerza v Ljubljani, 2004.
2. D.E. Knuth: The art of computer programming, Addison-Wesley, 2005.
3. A. R. Bradley, Programming for Engineers, Springer, 2011.
Prerequisits
Basic knowledge of mathematics, mechanics, informatics and computers.
Additional information on implementation and assessment • coursework 50%
• seminar work 50%