translated by Google

Programming

The aim of this list is to give students a list of subjects in one place in the form of a signpost, in which they have at least in part the possibility to practically program. The list contains basic info about the subject and the technologies used in it. At the bottom of the page there are also suggestions for the relevant MOOC (massive open online courses).

This list is (and will always be) in the edit phase as each subject evolves. If you know other subjects not listed here or know how to add / modify information to existing ones, you can help us by sending them to us svenda@fi.muni.cz

Lectures at MU

Spring semester

  • Subject: PB069, Development of desktop applications in C # / .NET
    • Content: Development of desktop applications in C # / .NET on Windows, Windows Forms and Windows Presentation Foundation
    • Form: lectures + practical exercises
    • Programming language used: C #
  • Subject: PV112, Programming of graphic applications
    • Refill: Graphic API, animation, OpenGL
    • Form: lectures + practical exercises
    • The programming language used: OpenGL, C / C ++ or Java
    • Notes: Students are able to choose the programming language in which they pass the subject, ie Java or C / C ++
  • Subject: PV192, Parallel Technical Systems
    • Load: Multi-threaded programming
    • Form: lecture + practical problems solving
    • The programming language used: C, Java, Ada, OpenMP
  • Subject: PB071, Introduction to C
    • Refill: Language C (standard C99), Posix, use of development tools (IDE, debugger, SVN ...)
    • Form: lectures, practical exercises, 5 homework tasks
    • The programming language used: C
    • Notes: The subject is taught every semester
  • Subject: PV168, Java Programming Seminar
    • Content: Advanced Java knowledge beyond PB162, object decomposition, persistence, user interfaces, introduction to web applications
    • Form: lecture, practical exercises, pair work on the project
    • The programming language used: Java
    • Notes: In the course, the pair is working on building a simple yet complete application with a graphical interface, a web interface and data in a relational database
  • Subject: PV204, Security Technologies
    • Content: Security topics covering implementation attacks, smart cards, trusted boot, reverse engineering, and malware and disk encryption analysis.
    • Form: lecture combined with exercises, most homework requires programming
    • Programming language used: C, C ++, Java, Assembler
    • Comment:
  • Subject: IV122 Mathematics and Programming
    • Purpose: understanding of selected mathematical concepts, clarification of their relation to algorithmic problems and their implementation
    • Form: lecture + exercises
    • Program language used: Any student's choice
  • Subject: PV178 Introduction to development in C # / .NET
    • Refill: C # language and platform2 development, asynchronous and multithreaded programs
    • Form: lecture + exercises
    • Programming language used: C #
  • Subject: PV243, Advanced Java Technologies: JBoss
    • Filling: advanced Java EE features, news in Java EE 6, JBoss.org projects backed by Red Hat
    • Form: lecture + exercises
    • The programming language used: Java
  • Subject: PA081, Programming of Numerical Calculations
    • Task: Solving the most common numerical problems, with emphasis on implementation and use on specific examples
    • Form: lecture + volunteer homework
    • Used programming language: C, C ++, Java, Python
  • Subject: PV239, Application development for mobile platforms
    • Refill: Application development for Apple iOS (iPhone / iPad), Microsoft Windows Phone 7 and Google Android
    • Form: Exercise + team project
    • Programming language used: C, C ++, C #, Obj-C, Java
    • Notes: Teaching by experienced external lecturers (Microsoft, Inmite).
  • Subject: PB138, Modern Markup Languages ​​and Their Applications
    • Content: Branding languages ​​for web and business environments, XML standards and technologies, modern web technologies
    • Form: lecture, practical exercises with four tasks on computer, teamwork on the project
    • The programming language used: Java and XML technology
  • Subject: PV242, Innovation and Entrepreneurship in IT
    • Purpose: The aim of the course is to educate future entrepreneurs not only in the field of information technology and to lead them to realize their own ideas.
    • Form: Lecture, seminar, team project, public presentation
    • The programming language used: as needed
    • Comment: Info on JIC pages
  • Subject: IB053, Effective Programming Methods
    • Content: Creating software in terms of work optimality and program optimality, which do not have to be mutually exclusive. Acquisition of habits and practices leading to both.
    • Form: Lecture + practice + team project
    • Programming language used: examples in C ++ / Java, the project can be in any language
  • Subject: IB002, Algorithms and Data Structures I
    • Content: Techniques of algorithms analysis, data structures and operations over them. Practical implementation of these on the exercises
    • Form: Lecture + practical exercises
    • Programming language used: C, Java, Python (as agreed with the instructor)
  • Subject: PV003 Relational Database Systems Architecture
    • Filling: SQL and PL / SQL in Oracle DB
    • Form: lectures, exercises, small team project
    • The programming language used: PL / SQL Oracle
  • Subject: PA036 Project from database systems
    • Purpose: Create a functional application over a relational database, technical documentation, presentation skills
    • Form: seminar, project over rel. databases including a web UI
    • The programming language used: PL / SQL Oracle

Autumn Semester

  • Subject: PV162 Digital image processing project
    • Filling: Solving practical problems from digital image processing
    • Form: project
    • Programming language used: Optional (most often C ++, Matlab, Java)
  • Subject: PA193 Secure coding principles and practices
    • Content: Principles, techniques and tools for secure programming
    • Form: lecture, seminar, homework, project
    • Programming language used: especially C / C ++
  • Subject: PV224 Caché: Alternative Database Technologies
    • Refill: Development of db applications on the Windows Cache platform, OO DB programming, Web application programming
    • Form: seminar, homework
    • The programming language used: ObjectScript, Cache Server Pages, Java collaboration
  • Subject: IB001 / IB111, Introduction to Programming Through C / Python
    • Filling: Introduction to programming, introductory algorithm,
    • Form: lectures + practical exercises
    • The programming language used: C or Python
  • Subject: PV197, GPU Programming
    • Filling: Programming general GPU calculations, code optimization (primarily NVIDIA GPU - CUDA and, OpenCL introduction, optimization for AMD GPU and x86 CPU)
    • Form: lectures, project
    • The programming language used: C for CUDA
  • Subject: PB173, Thematic Programming in C / C ++
    • Task: Independent Groups (Image Processing, Windows & Linux System Programming, Linux Kernel Drivers, C ++ 11, Applied Cryptography)
    • Form: Exercise with interpretation, homework, some groups have team projects
    • The programming language used: C / C ++
  • Subject: IV112, Project of Parallel Application Programming
    • Filling: practical experience with programming of multi-threaded or other parallel applications, parallelization of algorithms
    • Form: project
    • The programming language used: C, C ++
  • Subject: PA165, Java Programming (Enterprise Java)
    • Content: design and implementation of large systems, implementation, testing, refactoring, performance tuning, Java SE and Java EE (EJB, web services)
    • Form: lecture + practical exercises, homeworks
    • The programming language used: Java
  • Subject: IB016, Seminar on Functional Programming
    • Refill: Use of Haskell to solve practical problems
    • Form: Exercise
    • Programming language used: Haskell
  • Subject: PB125, Speech Processing Project
    • Purpose: Practical implementation of the solution of selected problem of speech communication between human and computer
    • Form: project
    • The programming language used: xxx
    • Notes: once every two years
  • Subject: PB071, Introduction to C
    • Refill: Language C (standard C99), Posix, use of development tools (IDE, debugger, SVN ...)
    • Form: lectures, practical exercises, 5 homework tasks
    • The programming language used: C
    • Notes: The subject is taught every semester
  • Subject: PB161, Programming in C ++
    • Filling: Object-oriented programming in C ++, STL, templates, C ++ 11
    • Form: lectures, practical exercises, 5 homework tasks
    • The programming language used: C ++
  • Subject: PV065, UNIX - Programming and System Administration I
    • Task: Principles of UNIX operating system, application interface (kernel services, some library functions)
    • Form: lecture, homework?
    • The programming language used: C
  • Subject: PV181, Laboratory of Security and Applied Cryptography I
    • Implementation: Practical implementations of security components, use of cryptographic libraries (OpenSSL, Cryptlib, Microsoft Crypto API, Java JCA), chip cards
    • Form: lecture combined with exercises, homeworks
    • Used programming language: C, C ++, Java, JavaCard
  • Subject: IV104 Programming Problem Solving Seminar
    • Task: solving algorithmically challenging tasks and developing thinking and problem-solving skills
    • Form: Exercise
    • Programming language used: any of the student's choice
  • Subject: PV247 Agile Web Project on .NET Platform
    • Content: processing of a web project from marketing bases to development after deployment to a production environment
    • Form: team project
    • Programming language used: C #, HTML, CSS, ASP.NET
  • Subject: PV249, Development in the Ruby Language
    • Content: Developing Ruby Web Applications
    • Form: lecture, practical exercises
    • The programming language used: Ruby
  • Subject: PV248, Python Language Course
    • Fill: Python and its more advanced use
    • Form: Exercises with explanation, homework
    • The programming language used: Python
    • Notes: Lectures by RedHat people, listed one time (not guaranteed to be re-written)
  • Subject: PV198 Applications of single-chip computers
    • Deployment: Implementation of single chip processor applications
    • Form: lectures, excercises, homeworks
    • The programming language used: C
    • Notes: The subject deals with three self-contained areas. In each section the lesson is divided into the theoretical and practical part.
  • Subject: PPV200 Introduction to hardware description language
    • Filling: Application Implementation for FPGA Programmable Gate Arrays (XILINX and ALTERA)
    • Form: lectures, excercises, homeworks
    • The programming language used: VERILOG, VHDL
    • Notes: The subject deals with two languages. In each section the lesson is divided into the theoretical and practical part.
  • Subject: PB162, Programming in Java
    • Content: Java mastering, object design and use of standard libraries
    • Form: lecture, practical interactive exercises, individual work
    • The programming language used: Java

MOOC Courses: Coursera, EdX, UDACITY ...

MOOC courses : ( Coursera , EdX , UDACITY , ...), DataCamp , ...)

  • Subject: An Introduction to Interactive Programming in Python
    • Filling: Introduction to programming in Python, programming simple games
    • Form: video lectures + practical exercises in the pre-existing virtual environment
    • The programming language used: Python
  • Subject: Discrete Optimization
    • Filling: Designing, optimizing and implementing algorithms for dealing with heavy (NP-hard) problems (TSP, VRP, Warehouse location, Graph coloring, N-Queens, ...).
    • Form: Video Lectures + Programming Tasks (the only way to get points is just tasks)
    • Programming language: Any, just use the supplied Python launcher.
    • Graduate Notes:
    • The course is a "graduate-level", the curriculum touches FI courses IA101, PA163 and PA167 (for more information, contact Ondrej Slámečku ondrej@slamecka.cz )
  • Subject: Coding the Matrix: Linear Algebra through Computer Science Applications
    • Refill: Application of linear algebra methods, suitable repetition and moderate extension (to be taken in larger scale) of course MB101
    • Form: Video lectures + programming tasks
    • Programming language: Python
    • Graduate Notes:
    • It took about 5 hours a week for programming, better understanding of the implementation of algorithms and data structures (for more information, contact Jan Štourače 113869@mail.muni.cz )
  • Subject: Functional Programming Principles in Scala
    • Fundamentals: Fundamentals of Functional Programming and their Application in Scale
    • Form: video lectures with small interactive tasks, homeworks
    • Programming language: Scala
    • Graduate Notes:
    • difficulty around 5h per week for tasks, no theoretical knowledge required, only basic programming capability, such as IDE used by modified Eclipse (for more information you can contact Michael Šimáček 410188@mail.muni.cz )
  • Subject: Introduction to R
    • Content: A course in data science, data processing and visualization
    • The programming language used: R and Python