ICTPL 2024

Europe/Budapest
IB310 (BME I)

IB310

BME I

H-1117 Budapest, Magyar tudósok körútja 2.
Péter Somogyi (BME IIT)
Description

Short URL: http://ictpl.org

Moderators
Péter Somogyi
Start date
2024-04-05 12:30:00+00:00
Duration
2:30:00
End date
2024-04-05 17:00:00+02:00
    • 14:30 14:40
      Bringing Code to Life: Interactive Simulations for Learning Programming 10m MBA (RAU)

      MBA

      RAU

      School of Computer Science for Business Management 1B Expozitiei Blvd., sector 1, Bucharest, 012101

      In our contemporary world, digital technology is ubiquitous and constantly advancing. This progression is mirrored by a dynamic evolution of programming languages. Newcomers to the field often grapple with these rapidly changing landscapes and technological demands, which can hinder the establishment of a solid foundational understanding and delay productive engagement. To navigate these challenges, we introduce an innovative approach to teaching programming: interactive simulations. By engaging with simulations, learners can immediately apply their knowledge to replicate complex physical, socio-economic, or biological systems, thereby bypassing the arduous initial learning phase. This hands-on method ignites interest and anchors learning in real-world contexts, paving the way for a pedagogy underpinned by clear, achievable, and measurable objectives (SMART). Ultimately, we posit that simulations present a compelling pedagogical alternative for cultivating programming understanding, fostering a more intuitive and purpose-driven educational experience. Our presentation will showcase a variety of practical applications and explore the educational framework behind interactive simulations, demonstrating how they can revolutionize the teaching of programming by providing an immersive and goal-oriented learning experience.

      Speaker: Prof. Andrei Luchici (Romanian-American University, School of Computer Science for Business Management, Bucharest, Romania)
    • 14:40 14:50
      Integrating ChatGPT for Learning Enhancement: Elevating AI Capabilities in Your WebApp 10m MBA (RAU)

      MBA

      RAU

      School of Computer Science for Business Management 1B Expozitiei Blvd., sector 1, Bucharest, 012101

      This presentation explores the transformative potential of integrating ChatGPT into educational web applications to enhance learning experiences and outcomes. Through practical examples and case studies, we demonstrate how ChatGPT's advanced AI capabilities can personalize education, automate administrative tasks, and provide instant, scalable support for students and educators alike. We delve into the technical and ethical considerations of embedding conversational AI in educational settings, offering insights into the future of AI-driven education.

      Speaker: Dr Gabriel Garais (Romanian-American University, School of Computer Science for Business Management, Bucharest, Romania)
    • 14:50 15:00
      Go Functional! - The Elixir of Programming 10m IB310

      IB310

      BME I

      Magyar tudósok krt. 2. Budapest, 1117

      As Niklaus Wirth stated in 1976, ‘Algorithms + Data Structures = Programs’. In the world of functional programming, algorithms are functions, and data is immutable. Each function performs a transformation on immutable data passed to it as parameters, returning the result of the transformation. With no mutable data, side effects are effectively excluded.
      Repetitions can be realized by recursion; the correctness of a recursive function can be proved by induction. Repetitions can also be achieved with higher-order functions and comprehensions that transform the elements of a collection; in such cases, recursion remains hidden from the programmer.
      Recursive algorithms work best on recursive data structures. In modern functional languages, like Elixir, recursive data structures – linear and tree-recursive – can be constructed, with links hidden from the programmer.
      Elixir, first published in 2012, is a modern, open-source functional programming language, developed with practical aspects and requirements taking precedence over theoretical ones. The code generated by the Elixir compiler runs on Erlang’s virtual machine, BEAM. As the latter supports concurrency, Elixir includes language constructs that make it easy to create and handle lightweight processes, as well as pass messages between processes.
      Proponents argue – and we agree – that the first programming language a student learns should be a functional language. Elixir is near-ideal for this purpose: an Elixir program is easy to write, load and run. Importantly, Elixir’s ecosystem includes a Livebook web application (similar to Python’s Jupyter Notebook), making the teaching and learning programming easier as instruction cells and interactive evaluation cells can alternate in the learning material.
      With Elixir, what a student has learned about arithmetic, expressions, math functions and math variables at school need not be unlearned – as is often the case when instructions and procedures with side-effects and mutable data are introduced with imperative programming.
      In our presentation, we’ll discuss some important features of functional programming with Elixir, while illustrating its use with Livebook.

      Speaker: Dr Péter Hanák (Budapest University of Technology and Economics, Hungary)
    • 15:00 15:10
      Edux, Your Elixir Education Sandbox 10m IB310

      IB310

      BME I

      Magyar tudósok krt. 2. Budapest, 1117

      Since 2021, Elixir has been the functional language taught as part of the Declarative Programming course at BME. Since the first such semester, there has been a continuous demand from students to try out the language using a sandbox without the need of installing any development environment on their laptops. Some web-based public sandbox solutions already existed for Prolog and Erlang, but not for Elixir. The idea came to reality during the summer of 2023 in the form of the Edux application (an Elixir sandbox for educational purposes). Edux comes with a simple and easy-to-use web interface built on HTML, CSS and JavaScript where you can type in your Elixir module in a textbox, and immediately compile and execute it in an interactive Elixir shell. Edux also provides an option to run your custom function calls without compiling any source code.

      Besides the core system, a lot of open-source libraries have been released for Elixir by the community of Elixir enthusiasts. Edux serves as an example for an open-source application written in Elixir to run Elixir. By making the source code publicly available, students can get an insight into the simplicity of writing concurrent web applications based on their studies of sequential functional programming in Elixir.

      Speaker: Mr Viktor Gergely (Budapest University of Technology and Economics, Hungary)
    • 15:10 15:20
      Programming Is Not a Game ... Is It? 10m Grand Auditorium (EsACT)

      Grand Auditorium

      EsACT

      EsACT IPB Campus do Cruzeiro Avenida 25 de Abril, Cruzeiro, Lote 2. Apartado 128. 5370-202 Mirandela.

      Learning a programming language is a multi-challenge process, where students are required to use a specific syntax, semantics and set of rules to implement algorithms, step-by-step specifications of procedures. They are required to structure a problem in sub-problems or modules, that they need to tackle without loosing the full picture from sight, and work backwards to merge them into a solid solution for the initial problem. This requires strong motivation and effort from the students. Gamification can help with this and, at the same time, contribute to high levels of engagement and persistency, leading to a cycle of try-fail until success. "Programming is not a game… is it?" describes a gamification approach for autonomous learning and constant feedback for learning distributed systems programming. It is composed of a set of timed challenges, where the students can use any resource to complete a programming contest. A student companion, running in a docker container in the student’s computer, provides constant monitoring and feedback as well as the goals, guiding the student towards success.

      Speaker: Dr Rui Pedro Lopes (ESTiG, Bragança Polytechnic University, Bragança, Portugal)
    • 15:20 15:30
      The potential of ChatGPT in Teaching/Learning Programming 10m Grand Auditorium (EsACT)

      Grand Auditorium

      EsACT

      EsACT IPB Campus do Cruzeiro Avenida 25 de Abril, Cruzeiro, Lote 2. Apartado 128. 5370-202 Mirandela.

      Artificial Intelligence (AI), which for several years was associated with the domain of laboratory R&D and the back office of large organizations, has recently exploded, with the branch of generative AI.
      AI has reached the masses, the common user, who uses it and tries to understand it and take advantage of it.
      The implications and impacts of this “new AI” are enormous and multifaceted.
      Education systems are ecosystems that will have to know how to live with this new reality. From opinions prohibiting its use to those who see it as another tool available to everyone, it is important to reflect on how we should manage this new reality which, like all new realities, brings challenges and opportunities.
      This communication briefly reflects on this new reality and how it could impact the teaching and learning of programming languages.

      Speaker: Dr Carlos Rompante Cunha (EsACT Bragança Polytechnic University, Mirandela, Portugal)
    • 15:30 15:45
      Coffee/Tea Break 15m
    • 15:45 15:55
      Learning Programming: University vs. Business Courses 10m 116 (WWSI)

      116

      WWSI

      Warszawska Wyższa Szkoła Informatyki ul. Lewartowskiego 17, Warszawa, 00-169

      This presentation will explore my experiences with teaching programming, focusing on the differences between university-style and business course styles.
      We'll look into the advantages and disadvantages of each approach and conclude with what I believe to be the most effective way to teach programming based on these comparisons.

      Speaker: Mr Grzegorz Kowalski (Warsaw School of Computer Science, Warsaw, Poland)
    • 15:55 16:05
      Teaching Functional Programming 10m IB310

      IB310

      BME I

      Magyar tudósok krt. 2. Budapest, 1117

      Teaching functional programming at the Faculty of Informatics (ELTE) has a long history. Bachelor computer science students take the course in their first semester, and there are several related courses at master level too.

      Several years ago our faculty started a two-semester programme for students from other faculties who are interested in learning informatics. Functional programming is also included in this programme as Programming with functions.

      In this presentation I will share my experiences of the challenges I face during teaching these courses.

      Speaker: Dr István Bozó (Faculty of Informatics, Eötvös Loránd University, Hungary)
    • 16:05 16:15
      Interactive Teaching of Programming Language Theory with a Proof Assistant 10m IB310

      IB310

      BME I

      Magyar tudósok krt. 2. Budapest, 1117

      The teaching of programming language theory has a long track record at ELTE Faculty of Informatics. Traditionally, formal semantics and type systems of programming languages, similarly to other theory-oriented subjects, were taught with the pen-and-paper method. However, modern proof assistants call for replacing this old-fashioned way of teaching with novel and interactive methods that bring deeper understanding, provide a better learning experience and build technical skills in applying formal methods. From 2019 on we implemented this paradigm change in multiple programming language theory subjects for the benefit of both the students and the instructors. In this talk, we present the main challenges of bringing machine-checked proofs into the practice classes and share our experiences from the past five years of teaching the Formal semantics course.

      Speaker: Mr Péter Bereczky (Faculty of Informatics, Eötvös Loránd University, Hungary)
    • 16:15 16:35
      Panel Discussion 20m Online

      Online

      Speakers: Dr Carlos Rompante Cunha (EsACT Bragança Polytechnic University, Mirandela, Portugal), Dr Gabriel Garais (Romanian-American University, School of Computer Science for Business Management, Bucharest, Romania), Grzegorz Kowalski (Warsaw School of Computer Science, Warsaw, Poland), Dr Péter Hanák (Budapest University of Technology and Economics, Hungary)
    • 16:35 16:45
      Conference Closing 10m 116 (WWSI)

      116

      WWSI

      Warszawska Wyższa Szkoła Informatyki ul. Lewartowskiego 17, 00-169 Warszawa

      Closing remarks on the conference.

      Speaker: Dr Grzegorz Słowiński (Warsaw School of Computer Science, Warsaw, Poland)