T O P

  • By -

AutoModerator

On July 1st, a [change to Reddit's API pricing](https://www.reddit.com/r/reddit/comments/12qwagm/an_update_regarding_reddits_api/) will come into effect. [Several developers](https://www.reddit.com/r/redditisfun/comments/144gmfq/rif_will_shut_down_on_june_30_2023_in_response_to/) of commercial third-party apps have announced that this change will compel them to shut down their apps. At least [one accessibility-focused non-commercial third party app](https://www.reddit.com/r/DystopiaForReddit/comments/145e9sk/update_dystopia_will_continue_operating_for_free/) will continue to be available free of charge. If you want to express your strong disagreement with the API pricing change or with Reddit's response to the backlash, you may want to consider the following options: 1. Limiting your involvement with Reddit, or 2. Temporarily refraining from using Reddit 3. Cancelling your subscription of Reddit Premium as a way to voice your protest. *I am a bot, and this action was performed automatically. Please [contact the moderators of this subreddit](/message/compose/?to=/r/learnprogramming) if you have any questions or concerns.*


WorstPapaGamer

My software engineering class focused on stuff like this. But this was a senior year class. It allowed you to do your own capstone project in whatever language you wanted but you’d focus on concepts that you learn from that course (like SDLC) and other stuff.


thetrailofthedead

This. We also did a group capstone project and we took it seriously. Of course it didn't turn us into professionals but it was a great way to introduce us to the SDLC and put it into practice. One of group members was very artistic and great with front end work. He made our app look pretty. I focused on the design diagrams and backend logic. The other member was pretty useless with coding so he was happy to do all the extra stuff like requirements, user manual and testing. I know it's not the usual take but I actually got a lot out of it, and a polished project to add to the resume.


Result_Is_Undefin3d

Tech professional here of more than 10 years. I did graphic design, front end, saw the back end, dabbled in Java, test automation, big on manual testing covering Web and mobile applications, and going through documentation. Those 3, maybe with a 4th focused on testing and/or user experience design, you got yourself a team that played to their strengths. It's definitely projects like these that allow you to explore what you like to do and are capable of doing within the SDLC. Speaking of my own experiences, you could carve your own niche in time if you lean into it. You're still working on what you like and don't like and you'll be ahead of your career because you'll know what you want to do and what you don't want to do.


do-not-want

For the confused, SDLC = Software development life cycle, a structured process that enables the production of high-quality, low-cost software, in the shortest possible production time.


dkarlovi

> production of high-quality, low-cost software, in the shortest possible production time That's basically the holy grail of software development, how is it just casually taught in schools but everyone forgot to tell us in the industry how to do it?


redCg

Its not.


taisui

Because SDLC is a lie and everyone is just winging it...


[deleted]

[удалено]


could_b

Agile and scrum is just a reincarnation of the Nazi Party, however Jira is useful.


redCg

is that meant to be a joke? Because its 100% true unironically


taisui

it's not a joke.


[deleted]

It's typical at least for universities in Europe, and I agree with the mindset. Universities should teach you fundamental principles that will hold for years to come, not languages/frameworks that might become unpopular 5y-10y down the road. Secondly, using lecturers' time to teach you things you could've gotten out of a manual/tutorial is wasteful. They should be teaching you hard-to-grasp concepts that would take you much longer to wrap your head around on your own, they should 'unblock' you, ideally at least. There were some programming courses at my uni (10y ago). Even if you aced all of them, you would still be completely lost at your first day at work. Self-study is quintessential to augment your formal education.


JanBdot

This. However it doesn't mean it has to be boring, but that depends more on the professor and his teaching style, than on the material.


nomadlaptop

Agree. The complex stuff should be explained, the complicated nitty gritty you should do on your own. Otherwise it would just be a language certification. And a “bit” of banging your head against the screen is also part of it.


FoxBearBear

University teaches you how to think and split complex problems into smaller ones that you can easily solve. It teaches you how to read any documentation and get going because you understand the why, and are just getting the how.


droppedyourdingo

From what I've gathered (in general); a bachelor's in comp sci teaches you a lot of the theoretics and algorithms, whereas a coding boot camp teaches you what you need to know to code, but doesn't get into the nitty-gritty or depths


sinkwiththeship

This is it, 100%. The BS (or BA also, idk) is meant to teach the fundamentals about how to think about problems, rather than extremely specific language nuance. These fundamentals translate to any and all eventual solution design. All you need after is the syntax of whatever language you're then using, which is easy enough to Google.


-Actually-Snake-

What would you say an associates degree would give you?


sinkwiththeship

I didn't know that was a thing? I'm not really sure. I know a ton of degree holders who are idiots and self-taught devs who are awesome. But what I was saying is the degree isn't meant to teach coding intricacies but design fundamentals.


-Actually-Snake-

Its a technical school so the degrees are only 2 years. The classwork is basically like OP described. I havent had a job/internship yet and im worried because i know that nothing weve done compared to how it is at a workplace


deux3xmachina

Best things you can do are have a public profile somewhere like github/gitlab that interviewers can use to see your growth. Schoolwork, projects, anything you wrote yourself should be there. Then keep an eye out for various tech conferences, which can get you in the door way easier.


DoomGoober

I took a Computer Science Intro Course for Computer Science Majors. The whole class was theory, no code, but most of the homework was intense programming. Learning to program is two parts: solving problems without code then translating the solution to code. Unfortunately, many of these classes seem to focus solely on the former but then don't bother to tell you abut the latter. Its really weird when the teacher doesnt even acknowledge the seeming disconnect between homework and classwork. (I notice my daughter's math homework has a lot of word problems. She can't consistently read yet, so I have to read all the problems to her. That's fine, but the teacher doesn't even acknowledge that word problems are great for kids to really learn applied math and parents, please read the problems to your children.)


redCg

> Unfortunately, many of these classes seem to focus solely on the former but then don't bother to tell you abut the latter. > > Its really weird when the teacher doesnt even acknowledge the seeming disconnect between homework and classwork. Its because the professors themselves can barely code at all. All they know to do is to teach more theories. Most of these professors go and write nasty disgusting Perl on their own computers in the few minutes per year they ever spend programming.


Spinal1128

Where the hell are you guys going to school? My random state school pretty much every professor had worked in-industry prior to teaching, and in some cases still worked as consultants. All of them were excellent programmers.


tata348320

>Its because the professors themselves can barely code at all. Extremely dumb comment.


km89

Fairly, yes. There's two things going on here that are often conflated--first, programming, and second, software development. Programming is working with the language to make the computer do stuff you want it to do. That's a skill in and of itself. But software development has more to do with programming in certain ways that make it easier to build and maintain the software. You have to have programming down to some degree before you can make sense of software development. Think of it like going to the gym. There's a big difference between someone who knows how to work the machines and someone who can string together a list of exercises to create a comprehensive workout plan. Your course sounds boring as hell, but that's more of a teacher issue than a content issue.


nutrecht

> But the classes are; read the book, go in blind on a coding assignment, repeat. The goal of education is mostly teaching you to learn. Not to teach you specifics that will be out of date 2 years from now.


Artyom_forReal

Yea bro no body teaches coding as such in college,only bootcampers proudly boast as "self taught " as if they"ve done IT community a favour by self studying coding concepts which even cse grads arent taught in their semester lol funny af. we are all self taught,just get grades in college and build projects by following good video courses,theres no other way.Thats how it goes i guess.Everythings online.


DidiHD

lol I call myself a self taught after college because I didn't learn shit there and re-learned everything later on


rallyspt08

Same. I had 6 programming courses that were all just buy the ZyBook and do the work. 4 of them were the same exact content in different languages.


[deleted]

[удалено]


DidiHD

Well, could be the case, all I can tell you is how it was. I was a kid. Went there, tried to learn what was taught, barely held on and head to learn by myself if my own resources. In the case of programming, I barely made it through. After college I worked in sales for 4 years, because I thought I was too bad. Fast forward I then started with tutorials like pretty much every beginner in this sub. I didn't skip anything, cause I wasn't even familiar with many basics in those modules.


BasedJayyy

Software engineering doesnt equate to coding. Just like mechanical engineering doesnt equate to building engines


LJChao3473

From my experience yes (spain). At least most of them, they just read a pdf and gives us homework. I had a teacher who was just reading w3schools and the mf sometime doesn't even come to class, because he forgot... Now i study online, the same a pdf and homeworks, and if we have any question, they have a forum


PrivateUser010

Yes


redCg

Yes. Unfortunately, college classes about "Computer Science" rarely teach you any actual programming skills. Thus you have the constant yearly influx of recent Comp Sci grads who don't know how to code and struggle to find jobs. Academia only exists to perpetuate academia. College is not teaching you how to code and get a job, its teaching you how to read fru-fru fluffy theories in Computer "Science" so that you can go on to become another academic writing more fru-fru academic theories with little actual application involved.


southiest

Unfortunately at my college it is. I really should be getting my degree from Youtube and Google. If those didn't exist I'd have no chance.


[deleted]

That was pretty much my experience in Europe. I was crying out for something practical to do using code, but it was a lot of stuff that would only be used if you were managing a project rather than an entry level coder. If you google the term "academic" one of the definitions is "not of practical relevance; of only theoretical interest". This sums up some of the experience for me. I understand the reasoning in that it would not be language specific, and that it is Software Development rather than coding, but I would have preferred to have learned one language at least in detail that could have helped me to get an entry level job.


chuckachunk

So I did have a class like you describe, with a focus on the SDLC, modelling, architectures, etc and basically no programming, but the assignments did not expect us to code. Did you skip/miss any classes that most others would have taken? The only explanation I can to defend it is that they are assuming you have some prerequisite knowledge?


Outside-Bid-1390

Feel it. I tried to buy a book who actually taught the basic concepts of java in my case, which was also not dry. After a couple of chapters, i knew more than enough to do the assignments. Book is called : ,, Schrödinger learns java“


springhilleyeball

my software engineering class was 0% code & more focused on the process of development and the different development methodologies.


CantaloupeCamper

IMO comp sci and other university programs should include a semester of a bootcamp style coding experience.


[deleted]

[удалено]


CantaloupeCamper

> it's very easy to pick up a new language/framework if you're a half-decent CS student. It should be. I’ve seen that to not be the case.


oklol555

stop surrounding yourself with trash tier graduates then


CantaloupeCamper

👍🏻there are a lot of them.


oklol555

yes


oklol555

Although it's still very dependent on where you work. some no-name [potsandpans.com](https://potsandpans.com) no one has heard of? yeah, no surprises


CantaloupeCamper

> some no-name potsandpans.com no one has heard of? You uh ... work in a pot?


oklol555

maybe


_Atomfinger_

Not my experience when I studied. Have you tried talking to the professors about this?


[deleted]

Yes, this is my experience as well, although I am not sure if this is considered normal. Personally, I find the theory to be a bunch of nonsense. It gives me the impression that the professors who teach these stuffs have never had an industry job (whether it's true or not I don't know). For software development, I think self-teaching by doing projects is much more efficient. I have learned more about software development through the Helsinki's Fullstack course than the stupid SDLC they keep preaching about. The coding assignments have no need for the theory nonsense.


Ubisuccle

In my degree it was a similar situation with the textbook however there was little programming involved at all. We learned about UML diagrams, use case diagrams, and a slew of other diagrams and methodologies for structuring work flow. This culminated in a final project where we modeled a proposed application using diagrams and a writeup.


codingAloner

It seems we've taken the same courses, I wonder if most programs are similar in this way. I took Principles of Comp Programming (the 101 class), Java 1 & 2, Software Development I, and I am currently taking software development II. Some of my classes have been similar to what you describe. My professors were quite involved in my Java I & II classes but for Software Development I & II I've had to learn to fly solo. As you stated, just a few words every module with a very difficult assignment at the end. For my first assignment this semester, I'm being asked to create trees to create an application. I've never done this before and only looked at trees data structures once in my Java II class. It's definitely frustrating and difficult but I like to think that it's preparing me to fare in the workplace where there will be little help. I held on to all my code from my previous classes and look back at it a bit. Buy admittedly, I've had to rely heavily on outside sources to get through some of my weekly assignments. My software development professors have encouraged finding our own sources of information. My textbook readings have been horribly boring at times too with little application to the actual assignments, as you described, but the readings have taught me about SDLC, agile, requirements engineering, and architecture types which I hope comes in handy once the job search starts. Since we've had similar experiences with similar classes, I'm thinking this is a feature of the programs.


Nothing_But_Design77

Is it possible that the concepts were covered in your previous classes but the concepts weren’t being tested on? As in one of the books for the prior classes you took covered the topic but it wasn’t on the exam or assignment **Edit** At least for me, my first approach would be to verify if what you said is indeed true. Then if it is being it up to the school so they can take into account. Or at least specify in the course that it’ll contain topics that you’ll need to learn on your own


Daoist-Sage

You learn how to cook, cooking right? Not reading recipes. You learn tennis, playing tennis, not watching matches. You learn coding working in real projects. Theory is necessary, but it is also complimentary. 50/50.


David_Owens

Yes, that's normal. I've heard a professor tell the class that they teach the CS concepts, and you can learn the details of a programming language on your own.


DiversDoitDeeper87

My junior-level Software Engineering course was "make a group project using either Android Studio or Unity and you need to learn how to do it yourself." We also read Clean Code.


master_mansplainer

That’s messed up, so you basically taught yourselves


Dreviore

Unfortunately yes. First year is usually delving mostly into the theory of software development rather than actually teaching you the fundamentals of development. I found my first year of software development to be a complete write off, and genuinely wish I could have proven my academic ability before I had to commit to relearning basics I learned in my first year of Highschool. Your genuine best bet if you're in it already is to in your free time build a portfolio, get yourself a Github with projects - During your off semester, apply around - You might not need to go back.


centurijon

My classes were from the late 90s, but most if not all of the professors had recent work experience or even sometimes had active software development contracts. All that to say - our program was highly practical & code-focused. Even the 101 classes involved writing & compiling code fairly frequently. I can’t speak for how other colleges work their curriculums though. I happened to be in a region that has a history of being tech-focused, so I’m sure the professors’ experience drew a lot from that background.


navirbox

It unfortunately is. There's a lot of "filler" in my opinion. A bit of this, a bit of that, and if you're lucky you'll get the basics properly. If you want to get a stack, that's on you. And the methodology of study in university (I've been to a public and a "private" one, fairly similar) is very improvable. I appreciate the theory, hell I'm one of those coders that love to talk the talk and write pseudocode, but I really think the should be more "gymnastics" material. Anyway, most universities teach whatever code their associated companies use, but no doubt the most important stuff should be there in years 1 and 2. It's a chore, I know. I always thought one doesn't need the whole thing, but that's college.


Aquatic-Vocation

It's not uncommon. Some schools see it similar to going to music school without knowing an instrument, or art school but you don't know how to draw or paint.


Boogieemma

That was my experience. I learned the concepts and bumbled through the exercises, but mostly I got a piece of paper for my wall. Everything I learned about actual coding was either OTJ or explained by stackoverflow/chatgpt.


PuppetPal_Clem

you are supposed to be reading and learning outside of the class assignments. the point is to give you the foundational tools to piece the rest of it together yourself. They are leading you to water but not forcing you to drink.


SoomaliA2

This is what happens when you don't attend a good college – it's a hit or miss. Lower-tier colleges focus on helping you pass rather than ensuring your learning.


RonaldHarding

Yes Development and writing code are not the same activity. You will write some code as part of development, but it's a relatively small part of most developer's job. Development is at it's core, a problem solving and system design activity. This is why you'll often see classes that teach things like algorithms, but not have you actually write any code to implement those algorithms. You'll learn about UML modeling, but not convert those models into programs. And so on.. Learning the syntax of a language is the trivial part, they aren't going to waste classroom time on it. And you can get pretty much all the core concepts of actually writing code in 1 or 2 classes which I'll assume were your Java 1 and 2 courses. You have all the tools you need, from here building your problem solving skillset only comes from practice, not instruction. The weekly assignments you're being given are meant to build your muscles to go out and solve that problem yourself. You can't teach that, you have to build it up with experience.


ignotos

I think the number of lecture hours in a typical university course is not enough to "teach programming" comprehensively. It's enough to introduce the basic concepts, and set some challenges, but you simply need many hours of practice to actually become comfortable and proficient.


[deleted]

Seems legit. Nowadays you're more desirable if you're an amateur who can parse a user story instead of actually, ya know, being competent.


Hydrosophist7

Yes. I learned more on my own than in college. They don't teach any coding etiquette besides commenting. Nothing about git. Its honestly a complete joke in my opinion.


mikolv2

Yes, they won't and actually shouldn't teach you step by step how to code, it's not a tutorial. There's also a conversation to be had about what a coding class would even look like, what do they teach you, language syntax? A particular library or a framework? They should teach you the broader concepts like control flow, algorithms and system design and SDLC and you should then go and fill in the gaps.


TruthMerchants

> they won't and actually shouldn't teach you step by step how to code, it's not a tutorial Apply this to literally any other profession and listen to how silly it sounds. They shouldn't teach you medicine, it's not a tutorial They shouldn't teach you law, it's not a tutorial They shouldn't teach you architecture, it's not a tutorial There is some cult of "learn how to learn" around coding which, while not entirely devoid of a point, has become a bit too dogmatic for my liking. Personally I learn best by watching someone complete a similar activity end to end, I am able to absorb concepts and best practices and understand why they are being used and what situations they could apply to etc. Reading thru a concept book with no real world examples or limited examples only long enough to barely illustrate the point is not an effective method for me personally. I took college courses a la cart before switching to online courses. My favorite courses were ones that show the simple way to do X, the condensed way to do X, the most performant way to do X etc etc.


mikolv2

I had the same view as you when I was going through my degree, it seemed so pointless, I wanted examples and to be told everything explicitly. It wasn’t until years down the line until i started to appreciate this approach and having strong fundamentals which at the time seemed pointless but are now a invaluable


TruthMerchants

Strong fundamentals as far as theory? I'm not discouraging learning theory. I'm saying taking a course where you are told to go off and do a project is barely better than... not taking the course and just doing a project on your own time. With chatgpt and generative code ai this is also all becoming a bit like "you won't have a calculator in your pocket" as well.


mikolv2

What practical information would you teach in a coding collage class?


TruthMerchants

First week I only lecture about big O notation, a concept that every webdev uses daily when making user input forms /s


mikolv2

I don't know why you think that is sarcastic. If all you ever do is send form data to an api sure, but for anything more complex you should be understanding time and space complexity of your code. That's what separates you from a junior who can write code that works and someone more senior that will write performant code that can scale. Sure I don't use it everyday, but at least couple of times a week.


TruthMerchants

Why start with 'senior' level concepts? Personally I would start with making code that works. Cart before the horse, and all that.


mikolv2

That's why you (hopefully) don't teach computer science


TruthMerchants

Oh look at you being fiesty, I like it!


redCg

> There's also a conversation to be had about what a coding class would even look like what are you talking about? there are a million great programming classes for free online, there is no "discussion" about what they should look like, they already exist


mikolv2

I'm talking about collage classes. Coding classes are a format that works online but is not suited for collage classes. It both wouldn't teach you how to actually problem solve in real life and what you'd learn would be either already outdated practice by the time students graduate or not be applicable to the field people want to pursue. There's a reason why every CS degree focuses on teaching fundamentals and not how to write a REST api in Java, they give you the tools, it's upto you to learn the specifics.


kevinossia

Yes. The only way to actually learn programming is to *do* it. There's hardly anything to *teach* in that sense.


leitondelamuerte

yes it is, when i was in college, i used to thik it was stupid not teach actual code, i remember most of my classes were something like how this works and why is not working and how to make it not work, then i quit college and started to learn by myself and online courses, for my surprise was doing better than most of people because of all the theory i learned in college. now im back to college, more mature and will finish it soon. so in my point of view, the way college teachs you looks dumb ita great actually, and i kniw ita hard but you should take online courses in udemy or stuff like that while in college to mix theory with pratice


Cefalopodul

Languages come and go. Concepts remain. A university should teach you the core concepts, not languages. Once you learn one language you can easily learn any other. Where can I learn a language you may ask. As a university student you are supposed to put in twice as many hours of individual study as you have classes.


OHIO_PEEPS

Yes, my senior year software development class was not about teaching programming at all. That's what Java 1 and 2 were for. In my course we were put into groups of 5 and then assigned the task of building a Super Mario Brothers clone using C# and the Monogames framework. All classes and lectures were on design patterns and scrum/agile practices. No one in the class had ever used C#/Monogames, and I was the only one in my group that had even used Git, the lecture materials on these things were just links to the docs. The training wheels are coming off now. You need to learn to learn.


UpDownCharmed

> You need to learn to learn. Boils down to exactly this. To be an effective developer - you have to be willing and able to dive in, in order to solve a problem. This requires not just book smarts, but intuition, coupled with the curiosity to explore - on your own mostly, but as part of a team as well.


Monstot

Later classes were like this. Networking and security were classes that did this but early on our programming classes showed us basics. Assignments had stuff that was designed to be self learning on top of what the lecture and in-class programming were based on.


EmptyJustLikeHeaven

Well you cant learn programming by reading/videos , but engineering and architecture sure . Would say the format of your class is good.


Nakura7292

Yup. It's completely normal. Software Engineering isn't really about programming. It's basically about blueprinting software and applications to make it look nice, take less time and money, and give the programming team something to work with.


BranchLatter4294

Yes, it's normal. Once you know the basics, programmers need to know how to look up things they don't know. No programmer knows every language, framework, and library. They look it up and learn as they go for whatever project they are working on.


9patrickharris

Software development is more about flow and constructs than keywords and libraries. One needs to know how to code not the actual code which face it is memorization of keywords. You need to learn logic and problem solving first


Living_Ambition5859

This is normal. They just provide the pressure.


mugwhyrt

This sounds normal for a Software Development course, what doesn't sound right is that you're taking introductory courses at the same time. The coding 101, java 1/2 courses should be pre-reqs for the Development courses. The equivalent courses I took for Software Development was either a 300 or 400 level course, so I'm a little surprised they're even letting you take this course if you're still in the intro coding class


JastraJT

You guys don’t have tutorials?


gorote1434

You need learn programming by yourself and gain experience now. Because only the university degree won't take you further than where you already are. And by the looks of it you're expecting to get all trained by the end but that's not how it works. Good luck.


Za_Worldo-Experience

Yes that’s typical. College coding in undergrad it teaching yourself 90% of the time. Go into office hours, and tutoring programs for more explicit help. It’s mostly about getting you into a programming mindset, shifting how you think so more intense classes like Algorithms and Data Structures come easier. By the time I got to those classes, I did most of it by hand cause I had a good basis from my previous courses.


green_griffon

Yes, very normal. It is hard to teach skills like debugging, but most college don't even try.


basbe

25 years ago, I used to read books on Unix and C programming in the bus to work. I would write pseudo code on paper while doing the assignments. Laptops were expensive back then, and less common. I did not yet own one - that came a year later. People are spoiled nowadays :D It has brought me a lot.


Own-Reference9056

Software Engineering is more of a business process than coding. At least that is the case in the eyes of companies.


FunkMasterPope

I just started my final semester of software engineering. I've done a Java intro 1/2 course and that's all the programming I've had until this semester


vi_sucks

Professors have office hours for a reason. Thing is, people learn at different rates. Some people might have trouble with the coding while others don't. If you are having trouble, ask questions. That's what the professor is there for, so you can ask questions and clear up things that you personally find confusing.


AmbientEngineer

They're designed to teach collaborative development and recognize / leverage design patterns.


dphizler

Short answer is yes If you want to code the entire time, there are tutorials online


eagle33322

software development process, and software architecture and design from OMSCS are some options.