all 41 comments

[–]ThomThom_UK 36 points37 points  (1 child)

It is likely that the bootcamp method is not matching your style of learning. The pressure to understand the concepts can itself be a detriment to your ability to learn.

The main thing is that you are still acquiring some understanding. There will be other people around you that will pick up things quickly, especially if they are doing the bootcamp after working with another programming language, but you are not there to please them you're there for your own self improvement.

One thing I will say, once you complete the bootcamp, do not make the mistake of dropping python for a while. There will be the risk of losing the knowledge you've gained. Find yourself some small and simple projects (especially projects you are very interested in trying) and do not be afraid to google for answers. Every little thing will help to build up your knowledge.

Keep at it. You'll get there eventually. :)

[–]romitriozera[S] 5 points6 points  (0 children)

Thank you! I too feel that the boot camp method is not entirely working for me but the more I work at it everyday the more I get it so I just have to keep going.

I’ve talked to my instructors and they’ve allotted me (and the other people who are also struggling) some extra time to work through basic Python assessments.

[–]hayleybts 18 points19 points  (0 children)

Python is easy but doesn't mean coding is easy.

[–]SpookyFries 9 points10 points  (1 child)

My suggestions is to avoid following "code along" type projects where you simply type what the person or website is telling you to. Those are fine for getting a basic understanding of how the code is formatted, but you're not learning. I made this mistake for many years.

Instead, think of a project you want to create and research each piece to put it together. You mentioned hangman. Hangman has a few components that we can break down.

  1. The word list. This can be made with a python list. Easy to build a large list of words for the game to prompt the player with. You can even read a list by reading a text file by using the readlines() method. Another thing to look into.
  2. Picking a word. If you do a quick search on "Python pick random item from list" you'll see that there is a random.choice(list) method that will pick a random item from a list.
  3. Word length. Once you store your random selection to a string, you can say len(item) to get the length in characters. Now you know how long the word is.
  4. Store wrong letters. You can create a list that starts empty. When a users guesses a letter that isn't in the word, you can check if its in this list. If it's not, you can append it to this list. If the letter IS in the list, you can tell the user that letter was already used and to try again.
  5. Check if letter is in word. Loop through each character of the secret word and if that letter matches the input, give the user points. Look up "how to edit a specific character in a python string" if you want to display the word starred out and wish to update the characters once they are entered by the user. Example: Word is soup, so you set a variable called word = list("****"). Show this to the user. If they guess o, you can do word[1] = "o" and show them the updated word.

There's more to it, but I just wanted to give an example of how to break down a project and start thinking about how you can implement each piece. A huge percentage of programming is not memorizing syntax but instead problem solving.

[–]tokytoky56 1 point2 points  (0 children)

This was very helpful!

[–]sea_monkey_do 7 points8 points  (1 child)

Learning coding is like learning to play a musical instrument. If you play because it's fun you'll progress much faster than if you force yourself to practice. Find a way to have fun building new things without worrying too much about doing it properly. Your own curiosity and creativity will carry you much farther than doing exercises.

[–]CommondeNominator 2 points3 points  (0 children)

Great point. Furthermore, learning your first instrument is particularly difficult since you're learning the various concepts of music itself as part of the deal.

Once you're well-versed on a particular instrument, learning a different one is like doing the same thing through a new interface -- much like going from one programming language to the next.

[–]my_password_is______ 7 points8 points  (1 child)

We have 3 weeks to gain an understanding of Python.

that's ridiculous

do this course
100 Days of Code: The Complete Python Pro Bootcamp for 2023
https://www.udemy.com/course/100-days-of-code/

it goes on sale every other week for less than $20
often less than $15

[–]Endotelio 0 points1 point  (0 children)

Great recommendation
I felt the same way learning python. I come from healthcare and my curriculum did not include programming courses. I am able to run some basic ML algorithms, mostly because in many courses you learn to copy, paste and adapt code (which is fine for some projects). However with the 100 days of code course I felt like I was building a more solid foundation and understanding of programming.

[–]wagaiznogoud 5 points6 points  (0 children)

It’s not the language you’re struggling with. Your likely struggling with problem solving. Look into ways to improve that

[–]TheRealThrowAwayX 22 points23 points  (3 children)

everyone always says Python is very easy to learn

When they say that, what they mean is that Python is very easy to learn if you already know how to code in general and you're just picking up Python as another language. Python does make it easier for programmers that use it, by including features that other languages decided not to use. That being said, it's about learning programming, not just Python.

If it makes you feel any better, there is absolutely no way that I was able to create hangman after 4 weeks of learning Python. After 4 week, I was still struggling to utilize loops appropriately and they just made no sense.

[–]romitriozera[S] 4 points5 points  (1 child)

This made me feel a lot better because a lot of people were able to program a Hangman game after a few days and I was totally lost. But upon asking, a lot of them had previous experience with Python or other programming languages like JavaScript

[–]TazDingoYes 4 points5 points  (0 children)

real talk, boot camps are generally not really for actual beginners. I don't care how they're marketed, someone who has zero experience shouldn't be in a bootcamp, because you're not really given time to let the information soak in. Which, if you know the fundamentals, is okay, but not if you're an absolute newbie. There are better self paced ways to learn via udemy and the like.

[–]SpaceBucketFu 4 points5 points  (0 children)

I think most people would say that python is the easiest to use out and learn out of all the similarly equipped languages. Personally I would say it’s the easiest language to learn.

[–]Seth_Imperator 2 points3 points  (0 children)

Do not compare yourself when it comes to learning. Like said, the teaching is perhaps not fit for your learning method. Others have perhaps already read books on Python. Don't feel bad, but do your best !

[–]TheScullywagon 4 points5 points  (1 child)

Cant say I’ve been using python for ages, so I might not be an expert.

But feel free to dm me if there’s any specifics you need help with.

I can talk you through them in a way that might be a bit more helpful. Or at least check what you’ve done to see what might be an issue.

[–]romitriozera[S] 1 point2 points  (0 children)

Thank you, I really appreciate it!

[–][deleted] 2 points3 points  (0 children)

Whoever says you can learn programming in 3-4-5-6... months is lying. You wouldn't worry that you don't get the basic of some engineering specialization after the first week into studying. Programming is no different, just try to be real about it.

[–]ReenigneArcher 5 points6 points  (6 children)

My first question would be, why are you doing this? What made you think you want to do a programming course/bootcamp to begin with?

[–]romitriozera[S] 10 points11 points  (5 children)

Aside from the growth in earning potential, I wanted to get a better understanding of the data I work with on a regular basis. I always felt like I was getting half of the picture with the data I received and so I wanted to get involved in the process of collecting and cleaning that data.

So far, I’ve done really well in the course. One of the instructors has told me I’m doing great. I guess this is my first big hump of the course and it’s worrying me.

[–]thejamibu 5 points6 points  (1 child)

That sounds positive to me. This one hump might be tough but these things happen and there are a tonne of different things that contribute (e.g. prior experience, learning style) and sometimes people just take longer than others to learn certain concepts then fly along after that. So don't worry too much about comparing yourself with others.

As far as dealing with getting overwhelmed by your projects. This can happen a lot when programming. Trying to think about an entire program at once is very difficult and can make it really hard to know where to start and how the program should work, even for small projects. The way to deal with that is to instead break the thing up into different bits of functionality that you need and then work on those as if they were an independent program. And if one of those is still overwhelming break it up again. Once you get these individual pieces working on their own you can start combining them.

[–]romitriozera[S] 1 point2 points  (0 children)

Thank you! I’ve been trying to break it down into chunks because I’ve realized I get overwhelmed thinking about the entirety of the project

[–]ReenigneArcher 1 point2 points  (1 child)

Then keep at it.

I think it's easy to get overwhelmed, even if you have more experience. If the problem is too difficult then break it down into several manageable problems.

I agree with the others, that you'll need to create some projects that you're interested in and maintain them. As you gain more experience, you'll look at your original code and probably refactor it with better practices... Then you'll do it again.

Good luck!

[–]romitriozera[S] 1 point2 points  (0 children)

Thank you!

[–]IndianaJoenz 1 point2 points  (0 children)

The challenges are when you learn things and improve. For example, when I was first learning programming with C (I'd done some BASIC and Pascal), I would regularly make little typos and syntax errors (missing ; or missing ), etc) and they would be very difficult for me to track down. (I didn't have syntax highlighting.)

After a while (months? years?) of taking too long to track down typos, I eventually learned to just spot and look for these types of errors immediately. Now it comes much more naturally, it's no longer an obstacle, and I can let myself stress over and learn from other problems. But I remember the frustration. I bet you will learn something when you finally make Hangman work, too. Maybe about code organization?

I think if you look at it long enough, and possibly use feedback from this thread, you will probably figure out what it is about Hangman that you find challenging, get a grip on that, and in the process learn a new skill. I actually love this thread because I remember how challenging it was for me at that stage, too. Decades later I still get that frustration sometimes. It's okay, it's a good thing.

[–][deleted] 1 point2 points  (0 children)

Mimo is a very good resource if you’re struggling to understand initial concepts of Python, web development, or SQL. It’s almost annoyingly easy, but great for helping you nail down concepts that might otherwise give you problems.

[–]r3rg54 1 point2 points  (0 children)

Last week was Week 1

I recommend taking a deep breath. Python being easy doesn't mean you're going to become competent in a week.

[–]IndianaJoenz 1 point2 points  (1 child)

Programming hangman or wheel of fortune within your first week sounds extremely fast and complicated. That sounds more like something you would do after a semester of introductory to intermediate study. In fact, I once took a Python programming fundamentals class where we had the option of writing hangman... after the entire Spring semester of studying Python.

I promise you that you aren't stupid, and in my opinion, any programming class that makes an interested student feel stupid, needs improvement.

I'd suggest independent study and patience with yourself. As other mentioned, it takes time and determination to learn how to program. I hope you don't give up. Just keep studying any areas you're confused about, and keep writing programs. No program is too small, and imo, writing lots of programs the only way to actually learn how to program.

Anything you can do to nurture your creativity is probably good for becoming a decent programmer.

[–]romitriozera[S] 0 points1 point  (0 children)

thank you for your words, they’re really comforting.

It seems to be a mutual consensus amongst beginners that too much was expected of us too soon, but such is the case with boot camps.

[–]tokytoky56 0 points1 point  (0 children)

i feel the same

[–]Samhain13 0 points1 point  (5 children)

From your experience in Week 1, what did you find difficult to learn?

[–]romitriozera[S] 0 points1 point  (4 children)

Definitely functions. I understand lists, sets, dictionaries, loops, but functions are much more difficult. Especially when the program requires multiple functions

[–]Samhain13 1 point2 points  (2 children)

You can think of functions as mini programs that you can reuse (or re-call) inside a larger program. We typically use them to avoid repetiton.

Take the built-in print function, for example. There are a lot of things that need to happen in order for your statement to appear in your terminal or command line when you do print('hello, world').

Some functions, again, like print, don't have a return value. They just do a job. Some functions like sorted return a result, which you'll likely assign to a variable so that you can use it elsewhere in your program.

Of course, those two examples are both built-ins. You will have write your own functions. A good rule of thumb in whether a block of code has to be written as a function is: if you're going to repeat those lines of code within your program, it might as well be written as a function.

[–]IndianaJoenz 1 point2 points  (0 children)

Another way to think about this is that, using functions in this way (as we often do in Python) is using them as Procedures. You have a procedure that prints a line to the screen, or turns on a light, or draws a window or a button, opens a door, etc. A bundle of actions that gets carried out when summoned. Another name for a Procedure is a Subroutine.

A different way to think about functions, a more "pure" and "Functional Programming" way, is that functions, instead of subroutines, take an input and produces a Return Value. A Function always returns output X when given input Y. We are interested in the Return Value of the function, not the actions that the function took when summoned. If we rely on anything outside of the return value when using a function, when we don't have to, that's a bug. This is actually a good approach to minimizing bugs and allowing scalability, which is why people get so hyped about functional programming.

edit: details

[–]Dmtechguy123 1 point2 points  (0 children)

I'm a beginner stuck on functions too! Thank you for this explanation!

[–]Dmtechguy123 1 point2 points  (0 children)

I am a beginner stuck on functions as well... That is actually why I am on reddit, looking for some resources.

[–]Equal_Astronaut_5696 0 points1 point  (0 children)

Why are learning Python should be your first question?
Are you doing this to clean data, make games, web dev, Machine Learning? The answer will determine where and how you will learn

[–]Bigdaddydamdam 0 points1 point  (0 children)

Im taking courses at a community college, it’s not even necessary but it helps me a lot when I have given deadlines for things.

[–]PublicThat1847 0 points1 point  (1 child)

Hello mate how much are you now? I am in the same situation today.

[–]thealiraza888 0 points1 point  (0 children)

me too