PV249 Development in Ruby

Faculty of Informatics
Spring 2023

The course is not taught in Spring 2023

Extent and Intensity
2/2/0. 3 credit(s) (plus extra credits for completion). Type of Completion: k (colloquium).
Taught in person.
Bc. Pavel Buchart (lecturer)
Petr Blaho (lecturer)
Mgr. Tomáš Hrabal (lecturer)
Bc. Tomáš Lepič (lecturer)
Radmila Čermáková (assistant)
prof. RNDr. Tomáš Pitner, Ph.D. (assistant)
Luděk Škaroupka (assistant)
Guaranteed by
prof. RNDr. Tomáš Pitner, Ph.D.
Department of Computer Systems and Communications - Faculty of Informatics
Contact Person: prof. RNDr. Tomáš Pitner, Ph.D.
Supplier department: Department of Computer Systems and Communications - Faculty of Informatics
Experience with some programming language (C/C++/Java/Python).
Course Enrolment Limitations
The course is also offered to the students of the fields other than those the course is directly associated with.
The capacity limit for the course is 30 student(s).
Current registration and enrolment status: enrolled: 0/30, only registered: 0/30, only registered with preference (fields directly associated with the programme): 0/30
fields of study / plans the course is directly associated with
Course objectives
The student will learn how to develop in the Ruby programming language. Ruby is modern, dynamic, strongly typed language that is gaining tractions thanks to it's simple syntax, strong support for metaprogramming and huge community of developers. Ruby can be used for developing GUI, web or mobile applications.
We will learn to program in Ruby, how to create web applications, how to do testing. Afterward we will cover the deployment options and the possibility to integrate with JVM using JRuby.
Learning outcomes
After completing the course the student will be able to:
- read and understand code written in the Ruby programming language;
- write own scripts in this language;
- understand the basics of web application development;
- create web applications using Ruby On Rails framework;
- collaborate on projects using version control system Git;
  • Ruby Syntax and basic programming techniques
  • Advanced programming techniques (regular expressions, metaprogramming)
  • Git crash course
  • Application Testing
  • Web applications creation 1
  • Web applications creation 2
  • Client-Server applications
  • Deployment into production
  • JRuby and Java integration
  • Ruby Ecosystem (background jobs, ruby toolbox)
    recommended literature
  • Ruby ynder a microscope :learning Ruby internals through experiment. Edited by Pat Shaughnessy. 1 online r. ISBN 9781593275617. info
  • Ruby and MongoDB web development beginner's guidecreate dynamic web applications by combining the power of Ruby and MongoDB. Edited by Gautam Rege. Birmingham: Packt Pub., 2012. ix, 310 p. ISBN 9781849515030. info
  • PYTEL, Chad. Rails AntiPatterns: Best Practice Ruby on Rails Refactoring. Boston: Addison-Wesley Professional, 2010. 400 pp. 1. edition. ISBN 978-0-321-60481-1. info
  • BROWN, Gregory. Ruby best practices. Edited by Yukihiro Matsumoto. 1st. ed. Beijing: O'Reilly, 2009. xvi, 309. ISBN 9780596523008. info
  • Beginning Ruby on Rails. Edited by Steven Holzner. Indianapolis, IN: Wiley Publishing, 2007. xxii, 380. ISBN 0470069155. info
  • SLAGELL, Mark. Learn the basics of object-oriented programming using Ruby :apply your knowledge in the real world : teach yourself Ruby in 21 days. Indianapolis: Sams Publishing, 2002. xiii, 537. ISBN 0672322528. info
  • MATSUMOTO, Yukihiro. Ruby in a nutshell : a desktop quick reference. Beijing: O'Reilly, 2002. xi, 204. ISBN 0596002149. info
Teaching methods
projects, homeworks, external lecturers, seminars
Assessment methods
projects, homeworks, seminar activity
Language of instruction
Further Comments
The course is taught annually.
The course is taught: every week.
The course is also listed under the following terms Autumn 2012, Autumn 2013, Autumn 2014, Autumn 2015, Autumn 2016, Autumn 2017, Autumn 2018, Autumn 2019, Spring 2022.
  • Enrolment Statistics (Spring 2023, recent)
  • Permalink: https://is.muni.cz/course/fi/spring2023/PV249