practice coding
Posted by LeoCleo1100@reddit | learnprogramming | View on Reddit | 16 comments
Hi everyone,
I want to practice my coding more, I know there's leetcode but I find myself just staring blank at the screen and I don't want AI to do the code for me because I just feel like that beats the purpose of learning and understanding programming. Is there a platform or website where you actually learned and got to practice coding?
TheEyebal@reddit
You need to improve your problem solving skills. It has nothing do with platforms, tutorials or resources.
Before you program, plan out your code. Get a journal or a whiteboard and plan out what your building.
Write out the steps and for each step write pseudocode
Good on you for not wanting relying on Ai and actually wanting to learn
mrrandom2010@reddit
The Odin Project or Freecodecamp are good resources. As for anyone telling you to memorize the syntax, I wouldn’t worry about that. Just know what it does.
Typical_Hypocrite@reddit
What do you want to do with your coding? That’s the most important question. Learn that stuff, not just generic leetcode garbage. What you learn from leetcode has purpose only if it’s relevant to what you’re doing and you can articulate what it does for you in your field, otherwise you’re just wasting your time.
LeoCleo1100@reddit (OP)
I like the idea of maybe app development, or maybe web development?
Typical_Hypocrite@reddit
App dev I can’t help you but for web development I can offer guidance as I am about to start applying for full stack web dev jobs (angular for front end and c#/asp.net for backend)
Pick your stack. Whether that is Java and spring boot, c# and asp.net, or js and node, or just something completely different.
1) Learn to create a simple CRUD by memory. 2) move the logic from the controllers into a service and learn simple pagination (by memory) 3) create DTOs and use them in your services and learn global exception handling (by memory, always by memory) 4) learn how to model relationships between entities 5) learn how one-to-many and many-to-many relationships affect the creation of DTOs and services. 6) if you don’t already know SQL then you should learn the basics at the very least.
Learning pagination & global exception handling at different stages is totally fine it doesn’t matter when you learn them just learn them. I learned them at bullet point #5. If you’re aiming for straight back end then you might need to learn other things as well. Filtering/searching is another one but I personally haven’t learned it yet.
Informal-Chance-6067@reddit
Can’t forget Flask, FastAPI, Django (python dev here) or ktor
boxofbuscuits@reddit
After learning the basics,you can move on to Flutter or React Native for cross platform app dev, or Kotlin + Android studio for native Android, Swift for native IOS.
Hayyner@reddit
Easy leetcode problems are definitely a good way to practice, just don't use the AI. If you're struggling, try breaking down the problem and writing notes. That usually helps me with getting unstuck.
Alternatively, you can think of a very simple idea and build an app around it. Some examples are, dinner recipe notebook, budget tracker, grocery shopping list, etc
Keep the scope small and do it without AI. Define the scope and make a plan, document it somewhere like Notion, build it and track your progress. And whenever you solve a difficult problem, document that in Notion as well so you can reference it later. I've always learned the most by doing, so I personally suggest doing this even more than I would suggest grinding leetcode.
LeoCleo1100@reddit (OP)
I have saved previous problems I've solved to refer back and I would think of it like a cheatsheet but I haven't thought about writing down my notes when im stuck just because everything is computer based but I think I would give it a try? would you be able to give an example of what that would look like?
Hayyner@reddit
For my first "real" side project (one with a defined scope and end goal) I put together a trello board and created tasks. I would summarize what the goal of the task was and document the implementation on the ticket. Basic stuff you would likely be doing at a job anyway, so best to get into the habit early. You don't need to physically write it on pen and paper, but I think that helps a lot with actually solving the problem. Once it is solved, you can just put the key takeaways in a document somewhere.
For project management and documentation, you can use Trello, Jira, or Notion. All free.
gofuckadick@reddit
I do basically the same thing, except I've tried pretty much every note/productivity/project management app out there and just keep coming back to Obsidian.
The Kanban plugin basically gives you Trello-style boards right inside your vault (which is Obsidian's way of organizing notes). But it’s all markdown-backed, so "task management" doesn't need to be seperate from "documentation."
On top of that, you can combine it with other plugins/features. Dataview is especially helpful to automatically generate lists like "all open tasks for this project" or "everything tagged bug". Canvas is great for planning and rough diagrams. Templater/Quickadd makes it easy to build a new ticket or feature note with the same structure instantly. Tasks lets you track tasks across your whole vault with due dates, priorities, recurring items, etc. Those are probably the big ones, but I have a dozen other plugins installed on top of those.
DomasAquinas@reddit
I’ve always enjoyed picking a language or an application, getting an entry-level textbook on it, and working through it cover to cover. Entry level because oftentimes learning even basic concepts through the lens of another language can be illuminating in unexpected ways.
I’d recommend No Starch Press for most topics.
zedeloc@reddit
The Odin Project leads you through learning web dev with tons of practice projects and all the resources to learn what is needed to complete them
ketanjain008@reddit
Try signing up for a paid bootcamp
0day-x@reddit
there are a couple of sites, if you are looking for a clear progression from beginner to intermediate to advanced problems you can check out https://www.codewars.com/ they have a cool gamified system for learning where you collect kata and rank up!
No-Lizards@reddit
Codewars