Conf42 Python 2022 - Online

Python as an OOP teaching tool in the Information Systems course at the State University of Minas Gerais (Brazil)

Video size:

Abstract

In this conversation, we will talk about the seven steps of the methodological proposal to practically implement the use of Python, increase student engagement and make use of real examples and practices:

Methodological Proposal Lectures 1. Easy to get started 2. Clear problem definition 3. Growing difficulty 4. Collaborative work 5. Market Practices 6. Multidisciplinary 7. All open and published 8. Online classes

Summary

  • In education, how can we teach in a better way using games mechanics? To talk a little bit about Python. Of course, English is not my main language. I apologize in advance if I make any mistakes.
  • Use the Python language to teach objectoriented programming to difficult found pedagogical approach. One of the biggest problems found here in Brazil in technology courses is the high level of evasion. A drop rate of 69% among technology curses students. Even more considering the number of slots available for work here and around the world.
  • A new survey shows academic performance as a possible source of evasion from the curses. To learn you need to effectively do and experiment. The teacher is still the central role in the teaching and learning process. Starting always started on a simple way and gradually increasing the challenge.
  • Chiago Baschi teaches object oriented programming at a Brazilian college. He uses tools and practices that are used in companies around the world. The classes were recorded and made available through YouTube channel. Students from other states also followed the project.

Transcript

This transcript was autogenerated. To make changes, submit a PR.
Hello guys. I'm here to talk with you about Pyto as an oop, oop, oop, oop, oop, oop, oop, oop, oop, oop, oop, oop, oop, oop, oop, oop, oop, oop, oop, oop, oop, oop. Teaching tool in the information to thank you for the opportunity for this opportunity to talk a little bit about education. To talk a little bit about Python. So, I've been teaching since 2010 here in Brazil in a small university called wengi. I teach at information systems course. I live in a small town named Ituyutaba. Well, during my master's degree, I studied a little about gamification and how we can use these mechanics of gamifications, these mechanics that is used in games, and how we can use this in other ways. For example, in education, how can we teach in a better way using games mechanics? So, in other words, the concern of teaching and how to teach better, how to teach in a profitable way for students has always been in my goals as a teacher. Of course, English is not my main language, so I apologize in advance if I make any mistakes. Well, our goal is to share the experience of using the Python language to teach objectoriented programming to difficult found pedagogical approach that I used exercise practice performed with our students. This is our goal here, to share with you a little experience of what I've been doing to teach in a better way. We will talk a little about the difficulties we encountered, how we conduct all this work with our students, and how we are always aiming on real world activities. Well, one of the biggest problems found here in Brazil in technology courses, mainly in technology course, is the high level of evasion. Many students, a lot of students of eight, start studying computer science or any other course in this area, for example, system information. But they end up being disappointed by the difficulties found on the course on the first year, on the second year. Here in our country, here in Brazil. Unfortunately, the early years of school and what we here call high school do not provide a strong foundation in math, for example, in other areas too, but specifically in math, the students don't have a strong foundation. And this way, many students arrive here in the college with difficult in math and logical thinking, with difficult also in writing. So these lead a lot of students. This lead many students to drop out or changing curse to a different curse that don't have a strong emphasis in math, just in the first few months of study. Well, here we have, for example, some data taken from a survey carried out here in Brazil, that shows a drop rate of 69% among technology curses students. This is a high number. This is a high number. Even more considering the number of slots available for work here in Brazil and around the world. With tech, there are a lot of slots. There are a lot of opportunities on work careers to work with technology here in Brazil and all around the world. But despite this, even considering this, our students are dropping out. So it's also worth remembering that with the pandemic that we are living, still living right now, in 2022, many vacancies that previously existed only in large shopping centers, in large centers like Sao Paulo, became remote work. A lot of companies that in the past used to have slots available just on their cities, we have now remote work or work from home. As a result, the number of slots available to people who live in small towns like minas has increased significantly. Basically, it's possible to work in any company in the country, here in Brazil, or around the world. And even with the end of pandemic, most of these slots will remain remote. A real transformation has taken place in the labor market. Here again, we have another research. Sorry, it's written in Portuguese, but this research is showing that the greatest difficulty for students in subjects involving logic and programming, just to make the most of the time, I want to read it all. By the way, it's also in Portuguese, but I will supply all sources in the presentation and will be published on the speaker deck after our talk. Ah, one more survey here, this is another from 2018, also shows academic performance as a possible source of evasion from the curses. Of course, there are many factors. Of course there are many factors, such as financial. We have also a lot of students that have to work during the day to support themselves, to support their families. Even the location where they stud, most of times are far from the university, far from the college. But it's also worth remembering that the difficults, if logic and math are there, they are always there. And the scheduling. And the scheduling is an important factor. Well, all of us in the field of programming technology know that it always starts with the hello word. Whether it was done in the past, in Clipper, in basic, Delphi, Java, or python. It turns out that for years, for many years here in Brazil, college teachers, professors use c. They always, in the past, used also Java as the first contact language for students. And by the way, part of the problem, maybe the main problem, is here, these two code snippets have the same goal. Here we have the same goal to make the hello word example for those who have never had contact with programming. Which of these, the first one or the second one is easier to understand? The first piece of code that you can see here above, if I need to teach these students, I have to teach them what is a class, what is the meaning of the void word, why we have a main word here, and what is a string in the Python code, everything is more direct. We have a less verbosed code and therefore easier for the student to understand. It's also easy to teach them why this code is here, why we have print, and why this is nipped of code. This way it's easier. I really like this phrase because it focuses on experience. In other words, to learn you need to effectively do and experiment. There is no easy way to learn, just reading a book for examples. You can't clear how to program just reading, you can't learn how to program. Just listen to somebody give a talk about programming, about classes, about how to make a program that reads a data set on an SK lite, for example. No, we have to actively experience, we have to training a lot to make a practice on daily and a weekly basis. Of course, we all know that in the university, the university itself is based on theoretical knowledge, but it is also important in this preparation of career for the study of technology course that we really focus on the practical part precisely for this reason, experimentation and practicing both of them is a fundamental part of learning, mainly on programming. So basically on this scenario, basically on these difficults, found the objective of the work. The objective of my work in the past three, four years ago, when I began to teach object oriented programming, programming was to develop a pedagogical approach, a way that would make easy to the student learning. Starting always started on a simple way and gradually increasing the challenge and gradually increasing the involvement, making it hard on small steps. So the first part about lectures, we know that in the university we have a lot of teachers, a lot of professors with extensive academic careers, and we have teachers also that have work experience in the technology field. We have teachers that have experience in programming and project management, working on an it company. This is very, very nice. And this makes the difference to the students because we are able to work on a more practical class aimed at a professional development. It's often remembering also that the teacher is always, and the teacher is still the central role in the teaching and learning process. We have books, we have programming, we have lecture, we have a student with a fox to learn. But the main subject, the central role on this process of teaching and learning is the teacher. So the first step we must found a way that is easy to get started. Instead of focusing on a process where the student would have to install IDE libraries, MySQL and the other software just to start developing, we chose to use an online tool that allows the student from the first minutes of the class to start working with that language. So we chose to use repo software that allows the student to work from anywhere. Start development almost immediately. You can also start programming at home on your lunchtime and then access your entire portfolio from college. We always encourage students to keep their codes on this platform and solve all activity, all lists of exercises to make all their practices using ripple using the repo software. So I do not work at repo, but it's a great tool to teach. So on the right side we have the python interpreter, and on left side we have the code. Here is one of the first exercise lists. The second point that we are always aiming is to have a clear problem definition. We notice that many times these students start trying to solve certain problem, started trying to program without even having understood all that needs to be done. They even understanding what they have to do. And just no, I have to program, I have to start typing. No. The most important step here is to make the proposal problem easy to understand. They must really know, they must really understand what they have to do. And the exercise lists are also a start with very, very basic and simple activities. Here, for example, we are talking about an activity where we start with the first list, a program to add two numbers, just this, you get one number, you get another number, a second number, and you must sum them. There we go. On the next exercise, the number two, where we have to convert meters to millimeters. This is also an easy task. It's also an easy exercise. But we are increasing the difficult step by steps. Because the third point, this is increasing difficult. In the beginning is very easy. In the beginning it's very easy. Yes, it is easy, but we always work with activities with increasing difficulty in order to always keep the challenging. This is a kind of mechanic from gamification. I cannot work only with his exercise because the student will lose his motivation. At the same time, if I create something extremely demanding at the beginning, the chance of giving up is very high. So the increasing difficult is the point. We start easily. We always increase in the difficult. The first exercise in python is to add two numbers, just this. But in the end we will develop a crude create, retrieve, update, delete code. Here, for example, we have some exercise with Heidegger. Difficult. They are in Portuguese, but basically we are asking for some complexes, exercises, tasks involving time, monetary values, temperature, conversions and some others. With each new list of exercise, the difficult increases. There are total of nine exercise lists. I just want to point out that this same approach that we use for teaching programming, we are using the same approach to teach, for example, SQL. It's not necessary to install anything. We are using just an online tool. We are using just increasing difficult, starting small step by step. The four point is collaborative work. Activities are not developed individually. Students always work in groups, they are always working and even encouraged to research, to google it, to talk about activities and discuss the best solutions with their colleagues. Always collaborative work. When they go to work on development team on an IT company, they will always work with you, other people, they will always do pair programming and they will ask a question when they are not understanding something. That's why here in the college there is no problem on working that way. Here they can discuss, they can talk, they can research, they can Google, no problem. So we always work together using online tools and always with teacher supervision. Teacher follow up is important, it's very important. Students look for solutions, but we as teachers must always guide their work. The next point that we have on this pedagogical approach is to as far as possible, we chose to work with tools and the practices that are used in companies around the world. So lattice is a brazilian system where students register their data as researchers and academic life. It's important to keep use it by those who want to in the future do a master degree or a PhD. And of course we ask that they also always published their code to repose stories on GitHub. So everyone is encouraged to use GitHub from the first week. Guys, drink your water. Always. So all students created GitHub accounts. A lot of people didn't know how to use it, but we went through a process of encouraging a little by little. And all the teachers on the college do the same. Multidisciplinary our goal was to teach object oriented programming. That's it. This was clear from the start. But our goal is also to get as possible to what happened when students start to work with development on IT company IT team. We know that in addition to a language, it involves knowledge of database, project management, agile, software engineering. We use software engineering, for example, to understand the scope and the requirements, the database we store and the project managed to track development. So that's the challenge. Find a way to mix all these concepts and deliver something. In the end. Our goal is always in the end to deliver the software running and serve the customer. But for that to happen, just my cam. But for that to happen there is a lot of work behind the scenes. After initial concepts and list of exercise with primary concepts, we move on to some more practical examples and the last is all open and publish it all source code for activities available on GitHub. The exercise lists and slides are also there. The classes were recorded and made available through YouTube channel. The most interesting is that later I published a post on my blog explaining this entire process and a few weeks later I received emails from students asking for help with activities and exercise. Students from another states here in Brazil. That's this. They effectively followed the classes recorded on YouTube, available on YouTube and performed the exercise. People from other cities, from other states who studied at the other college also followed this project and this was very rewarding. We had recorded lessons and some live lessons too and these classes were also available on YouTube. The pandemic forced us to adapt our process and the way of learning and the way of working, the way of teaching. But in the end it seems that we management. We extracted the best of this situation. This is the page where I published on the blog and had a lot of visits. Several people asking help and using our proposal. This is one of the YouTube lists from the last year. There are many classes divided by section, organized by sections. One of the intermediate exercises develop a tic tac toe. Here in Brazil we call Jogu d'velia. There is no intelligence here in computer decisions, only a position, but even it required to use the vectors, conditionals and the other language resources. This is another activity aiming to use a brazilian public web server to search exchanged quotes. This activity was simple consultation only. But in the final activity, later in this type of query you'll be using in other contexts. So here we are consuming using a web service, a public web service. So this is a crud why it is used? It's used to create, retrieve data, update or delete. I am always saying that building a crude is a way to show proficient in a technology, in a language by joining a programming language with a database system and be able to being able to record, to retrieve information, to list, to update the data they studied. We have the basic knowledge of data manipulation. So that's it. Here we have some books. My books are available on Amazon. We have four books. And here is my website where I have all my network, Twitter, LinkedIn, GitHub, YouTube channel and that's it. Our main point here was to share with you all our work as a teacher where we use a lot of python to teach her in a better way. So our main point here in this talk was education, but education with Python always trying to solve the problem using a professional approach, using tools that are always used in it teams, it companies. That's it. I would like to thank you again for the opportunity to talk here at Conf fourty two, and thank you for your patience to be listening me and sorry for any mistake I made in this process, because English is not my main language. That's it. My name is Chiago Basiochi and I'm here to help you if you need any doubts, if you have any questions, please reach me out. We can share more knowledge, we can learn with each other, and especially to that teachers, college teachers, school teachers that have some help. Our main objective, our focus is to always encourage the use of gamification mechanics, encourage the use of a better pedagogical approach to teach aiming that our students will always have a better understanding on a practical way, but also with a theoretical base. This. That's it. Thank you very much and I hope that you always like this content, the content of this talk. Thank you guys.
...

Tiago Bacciotti Moreira

Professor of the Information Systems @ UEMG Ituiutaba Unit

Tiago Bacciotti Moreira's twitter account



Awesome tech events for

Priority access to all content

Video hallway track

Community chat

Exclusive promotions and giveaways