last day (15 days later) » 

22:36
1
Q: What is the best way to learn practical computer materials?

black stormAt my university, my fellow students and I cannot apply practical subjects well... For example, when we are asked to do a software project, we cannot analyze its requirements to know the steps that must be followed to do so, and we cannot translate what we learned in theoretical subjects into pra...

Are you asking as a student or an educator? Do you have any examples of a software project that you (or your students) were unable to analyze the requirements for? In general, I'd say: practice on small projects and build up to larger ones.
I'm speaking as a student, not a teacher... We recently did our first programming project at university. I am in the first year, but I was not able to do anything with it, so I copied the program as everyone did, and I memorized the steps and what each function in it does, and I went to discuss it... Colleagues helped me with this, because they all did the same thing. We were unable to analyze the program or process anything in it. We didn't even know where to start
I cannot write the project requirements due to the number of characters allowed in the comment
What was the project? What sort of analysis or processing were you trying to do on it?
The project was to write a program in the C++ language, the content of which was a record of students with their grades, their ID number, and many conditions that we had studied in the theoretical programming subject. I knew how to do most of the functions, but not as a project, and I did not know how to transfer what I had learned in theory into practice. ...I do not think that the idea of the program was complicated, but we did not learn how to convert data into programming codes, nor even plan the program.
I have the requirements for the project and the code as well, but I cannot send it due to the number of characters that are required not to be exceeded in the comment
OK, that helps, thanks. Can you edit your question to include some of that information so it's easier to answer? It's hard to make a recommendation when the question is as broad as it stands currently. The exact code isn't important, but I'm trying to get a sense of what you're stuck on. What theory have you covered and what programming experience do you have? It sounds like a beginner-level C++ program, so if you haven't had exposure to C++ yet, it may be hard to begin. You might want to remove the lesson-ideas tag since that's more for educators.
22:36
Well, thank you for correcting me... I'm new to the site and not a native English speaker, so I sincerely apologize.
No problem, it's often part of the process to chat a bit to figure out one's intent. Welcome to the site! So the instructions you shared seem pretty clear to me. What aspects were you stuck on? "The program should contain:" is a helpful point that lists all of the programming concepts you'll need to complete the task. If any aren't clear, that may indicate a knowledge gap, a missing prerequisite. If you haven't programmed with one or more of those concepts yet, that's a sub-problem I'd break out and learn about, since this project is about synthesizing a series of fundamental skills.
Well, I know that the program is easy and that I had already studied its concepts in theoretical programming, but when I came to see the requirements in the form of ordinary words as described in the requirements, I did not know how to convert them into codes... They did not train us in this at all at the university. All we learned were the concepts. I did not learn how to use it to solve problems or create programs according to realistic requirements such as those written in the project... and this matter was generalized to everyone.
I want to add... I am in my first year and I am weak in programming. I just started studying programming and we started learning C++. I am good in theoretical lessons, but in practical application I cannot transfer what I learned in theoretical lessons to practical application. This makes me so desperate. I can't even think of converting what is needed. To encode it or think about how to process it
What do you mean by "theoretical programming" exactly? The description here seems pretty concrete. Are you sure you're breaking the problem down into small enough tasks that you can complete the first one? For example, "Structs: the student will be created not as a single variable, but as a struct." Can you create an empty Student struct? Next, add the integer id field into the struct, and repeat, building up to the full program (eventually). This would be a difficult assignment if you haven't built smaller programs using the techniques it mentions, like structs, arrays and so forth.
By theoretical programming, I mean the programming lessons that the university offers us without practical application... in which we learn the basic concepts and how to build each programming concept separately (syntax)... She asked me if I had created smaller programs than this with the same concepts... I did not create any Including programs for these concepts, as they did not provide us with anything like this at the university.
As for the practical programming lessons, the teacher did not allow us to apply anything... He only explained the concepts to us again using his computer and did not even apply how to convert ordinary speech into code, as in any case Part of the project
I apologize for the delay in responding, as I have difficulty translating my words into English
No problem, you're clear. So did you get a chance to write the simpler programs yourself, or have you only watched your teacher write them? If you haven't written the simpler programs yourself, that's pretty much required. This app involves at least a dozen concepts that you'll want to have programmed and experimented with enough to understand in isolation before starting on it. If you haven't done these simpler programs yet to explore arrays, structs, functions, conditions, loops, variables, input/output, etc, then I suggest working on them, starting with the simplest.
Usually, before an assignment like this, there would be a series of simpler assignments like printing "hello world" to the screen, writing a Fahrenheit to Celsius temperature converter function, finding the largest element in an array, printing the contents of a file, processing user input, storing information in structs, creating arrays of structs, etc. The assignment is basically a matter of combining all of these basic concepts into a fairly involved full application.
22:36
In fact, the teacher did not give me the opportunity to try any small program for any previous concept, and I do not know if there is a way to find such programs to practice on... I will now begin the final exams for the first year at university... then I will get 4 months of vacation before the second year. I will try to do this gradually, as you told me during this period, and I will try to rely on myself more than on the university.
In fact, the professor has applied a few of these examples before. I wrote Hello World last semester with my previous professor, but with my current professor I haven't implemented anything myself. He applied a few things... It was to find the largest element in the array.
...He applied some other concepts, but he didn't give us the chance to try them, he didn't give us verbal examples and apply them as codes... He just wrote some concepts as codes for example how can I find the largest number in the array and he didn't even tell me how to use it in reality... I do not know what these other examples are that you told me about. He did not implement any of them
That's unfortunate, since the only way I know of to learn programming is to actually do it on progressively harder problems. That said, a good deal of education (and work, later) comes down to the rather brutal "here's a bunch of requirements; figure it out yourself", so this is a good opportunity to try self-learning and self-practicing the material. This assignment is somewhat "generous" in that it tells you which programming concepts you'll need to complete the task. This doesn't happen much in the "real world"--it's just a set of business requirements without any programming concept.
Nowadays, you can dump these requirements into ChatGPT and get a (hopefully) more or less working program out in 5 seconds. But if you don't understand how it works or how to write such a program yourself, it only kicks the can further down the road, since eventually, you'll get to a point where ChatGPT can't figure it out (or you're doing a hand-written test). There's really no substitute for grinding through and hand-coding the temperature converters and array searching (etc) mini-programs described above (that I know of).
Well... I will try to rely on myself and fully implement all your advice. Thank you very much for all the clarification. This was really helpful
No problem. Good luck, and take heart: nobody is born understanding programming, and it's a difficult task that takes time to pick up.

last day (15 days later) »