Differences
This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
|
en:teaching:subjects:it [2020/03/06 01:20] admin [Lectures] |
en:teaching:subjects:it [2020/03/27 13:05] (current) admin [Lectures] |
||
|---|---|---|---|
| Line 1: | Line 1: | ||
| ====== Information technology ====== | ====== Information technology ====== | ||
| + | |||
| ===== Studies in English ===== | ===== Studies in English ===== | ||
| Line 5: | Line 6: | ||
| 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]]\\ | 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]]\\ | ||
| + | |||
| + | ===== Moodle for Information Technology ===== | ||
| + | |||
| + | Experimental module in Moodle can be found at http://elf2.pk.edu.pl/course/view.php?id=2024 | ||
| ===== Course description ===== | ===== Course description ===== | ||
| Line 46: | Line 51: | ||
| link in the toolbox in the left panel. | link in the toolbox in the left panel. | ||
| ===== Lectures ===== | ===== Lectures ===== | ||
| - | ^ No ^ Content ^ | ||
| - | | 1 | Information technology overview. Course aim and scope. Computer as a work, research and study tool. Limitations of computing. {{:en:teaching:subjects:it:a02_lecture01_rp.pdf|Slides}}| | ||
| - | | 2 | Overview of computer operating systems. Basic introduction to GNU/Linux. {{:en:teaching:subjects:it:a02_lecture02_rp.pdf|Slides}} {{:en:teaching:subjects:it:questions02.pdf|Questions}}| | ||
| - | | 3 | Introduction to Octave. {{:en:teaching:subjects:it:a02_lecture03_rp.pdf|Slides}}| | ||
| - | | 4 | Elements of computer programming. Programming languages. Execution of computer programs. Compilers and interpreters.{{:en:teaching:subjects:it:a02_lecture04_rp.pdf|Slides}} | | ||
| - | | 5 | Major generic kinds of statements in imperative languages. {{:en:teaching:subjects:it:a02_lecture05_rp.pdf|Slides}}| | ||
| - | | 6 | Introduction to algorithmic problem solving. Basic algorithms for sequences of numbers: summation, extreme elements, sub-sequences.{{:en:teaching:subjects:it:a02_lecture06_rp.pdf|Slides}} | | ||
| - | | 7 | Plotting and 3D graphics in Octave. {{:en:teaching:subjects:it:a02_lecture07_rp.pdf|Slides}} | | ||
| - | | 8 | Extension packages for Octave {{:en:teaching:subjects:it:a02_lecture08_rp.pdf|Slides}}| | ||
| - | | 9 | Representation of computer data. ASCII and UNICODE. Text files versus binary files. {{:en:teaching:subjects:it:a02_lecture09_rp.pdf|Slides}}| | ||
| - | | 10 | Number systems and representations. Computer arithmetic. The IEEE 754 standard for binary floating point arithmetic {{:en:teaching:subjects:it:a02_lecture10_rp.pdf|Slides}}| | ||
| - | | 11 | Basic algorithms and data structures. Scalars, arrays and lists. {{:en:teaching:subjects:it:a02_lecture11_rp.pdf|Slides}}| | ||
| - | | 12 | More advanced algorithms. Recursion | | ||
| - | | 13 | Sources of errors in computer programs | | ||
| - | | 14 | Sources of errors in computer programs (cont.) | | ||
| - | | 15 | Computer systems in scientific and engineering applications. | | ||
| - | |||
| - | |||
| - | ^ Lecture ^ Title ^ | ||
| - | |6 | Introduction to geometric modelling | | ||
| - | | 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. || | ||
| + | {{tablelayout?colwidth="80px,260px,500px"&rowsHeaderSource=3&float=center}} | ||
| + | ^ Lecture ^ Title ^ Content ^ | ||
| + | | 1 | Introduction to the course. {{ :en:teaching:subjects:it:ti_lecture_01.pdf | PDF}}| Aim and scope. Method of working. Motivation. Requirements. Overview of software tools. Sample problems.| | ||
| + | | 2 | Introduction to programming.{{ :en:teaching:subjects:it:ti_lecture_02.pdf | 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. | | ||
| + | |||
| + | | ||
| ~~UP~~ | ~~UP~~ | ||
| - | ===== Lab assignments===== | + | ===== Computer labs ===== |
| ^ No ^ Title ^ | ^ No ^ Title ^ | ||
| | 1 | [[en:teaching:subjects:it:labs:lab1|Introduction to GNU/Linux operating system]] | | | 1 | [[en:teaching:subjects:it:labs:lab1|Introduction to GNU/Linux operating system]] | | ||
| Line 113: | Line 105: | ||
| ==== Primary readings ==== | ==== Primary readings ==== | ||
| - | ~~REFNOTES~~ | + | * Primer, MathWorks, 2019 [[https://www.mathworks.com/help/releases/R2019b/pdf\_doc/matlab/getstart.pdf|PDF]] |
| + | * David Houcque, Introduction to Matlab for Engineering Students, Northwestern University, 2005, [[https://www.mccormick.northwestern.edu/documents/students/undergraduate/introduction-to-matlab.pdf|PDF]] | ||
| + | * Tony Gaddis, Starting out with Python, Pearson, 2017 (4th edition) | ||
| + | |||
| ==== Additional readings ==== | ==== Additional readings ==== | ||
| - | <BIBTEX: file=it_additional_readings style=chicago> | + | |
| - | <texit> | + | * W. Gander, Learning MATLAB. A problem Solving Approach, Springer, 2015 |
| - | \begin{enumerate} | + | * K.D Lee, Python Programming Fundamentals, Springer, 2011 |
| - | \item Octave homepage, 2010, \url{http://www.gnu.org/software/octave/} | + | * J. D. Foley et al, Computer Graphics: Principles and Practice, Addison Wesley; 3rd Edition, 2013 |
| - | \item Arthur, Lowell Jay and Burns, Ted. 1998. Unix - programowanie w Shellu. Zakad Nauczania Informatyki "Mikom". | + | * D. M. Bourg, Physics for Game Developers, O'Reilly, 2001 |
| - | \end{enumerate} | + | |
| - | </texit> | + | |
| ---- | ---- | ||
| ~~UP~~ | ~~UP~~ | ||