This course is a part of an undergraduate programe taught fully in English. For more on studying in English at Cracow University of Technology please visit http://www.civ-eng.pk.edu.pl
Experimental module in Moodle can be found at http://elf2.pk.edu.pl/course/view.php?id=2024
The course will enable students to comprehend the concepts and practice of Computer Science, the main focus is however put on developing programming skills. The main environment to exercise programming concepts Matlab. The minor goal is to give the student wider perspective on operating systems and software tools for data processing, visualization, geometric modelling. The student should also develop appreciation of the implications of computer use in solving engineering and scientific problems.
Duration: | 1 semester |
Number of hours: | 15 (lectures) + 15 (laboratories). The lectures and laboratories are every two weeks (90 min. each) |
Instructors: | dr inż. Roman Putanowicz (lecturer) |
The computer labs grade is the same time the course grade.
Effects | Engagement | ||
---|---|---|---|
small | medium | big | |
small | 2.0 | 3 | 3.5 |
medium | 3.5 | 3.5 | 4 |
big | 4 | 4.5 | 5 |
All course materials are available on-line from the course web page:
The materials on the above page are available also in PDF format: please search for the “Export PDF” link in the toolbox in the left panel.
Lecture | Title | Content |
---|---|---|
1 | Introduction to the course. PDF | Aim and scope. Method of working. Motivation. Requirements. Overview of software tools. Sample problems. |
2 | Introduction to programming. PDF | Processor and program. High level programming languages. Compilation versus interpretation. Overview of popular languages. Introduction to programming in Matlab/Octave. |
3 | Diving into Matlab/Octave | Pseudocode. Variables and assignment operator. Matrix variables. Conditional statement. Loops. Functions. Programming paradigms: structural object oriented, functional |
4 | Data structures and algorithms | Basic data structures: arrays, lists, sets, graphs. Overview of selected algorithms for sequences. Sorting and searching. Matrix algorithms. |
5 | Data formats and data processing | Binary code. Data types. Characters, ASCII, code pages, UTF-8. Data formats. HDF5, JSON, XML, CSV. Data visualization. ParaView, Matplotlib, plotting in Matlab and Octave. |
6 | Introduction to geometric modeling | Geometric models and their representations. B-Rep i CSG. Meshes as data structures. Basic geometric transformations. Selected tools: GMSH, OpenScad, Blender. |
7 | Overview of software engineering | Repositories. Git, GitHub. Documenting code. Markdown. Linux environment. Automating repetitive tasks. Software licences. |
8 | Summary | The role of programming in engineering curriculum. |
Some students may wish to check their programming skills by solving problems more complex than the ones presented during the labs. Some ideas for such problems are presented below. Students are encouraged to extend the projects with their own ideas. These projects are not mandatory. Students wishing to have their solution to be checked, should prepare a report as indicated at each project sheet.
The report should be prepared as PDF file and send by e-mail to the respective tutor. There are no specific requirements on the document preparation system. One can use
No | Project description | Assignment sheet |
---|---|---|
1 | Trajectory of the mass center of three points | mass_centre_project.pdf |
2 | Velocity of a point moving along given trajectory | trajectory_project.pdf |
3 | The first and the second derivative of a function | derivatives_project.pdf |
4 | The shape of a deforming circle | deforming_circle_project.pdf |
5 | The sum of a function series | adding_signals_project.pdf |
6 | The volume and area surface of a solid | volume_surface_project.pdf |