Sipser is an absolute banger of a book though.

Sipser?

“Introduction to the Theory of Computation” by Michael Sipser, a book commonly referred to as simply “Sipser”. My ToC course in uni was based around that book and while I didn’t read the whole thing I enjoyed it a ton.

“Introduction to the Theory of Computation” by Michael Sipser, a book commonly referred to as simply “Sipser”. My ToC course in uni was based around that book and while I didn’t read the whole thing I enjoyed it a ton.

Christian
link
fedilink
11Y

I read it cover-to-cover like fifteen years ago. I’ve lost most of that knowledge since I haven’t touched it in so long, but I remember I really enjoyed it.

@klemptor@lemmy.ml
link
fedilink
14
edit-2
1Y
blivet
link
fedilink
71Y

I’m grateful to this strip because reading it caused me to learn the correct spelling of “abstruse”. I’ve never heard anyone say the word, and for some reason I had always read it as “abtruse”, without the first S.

4 years later: “this button is the wrong color. fix it ASAP”

I was interviewed with complex logic problems and a rigorous testing of my domain knowledge.

Most of what I do is updating copy and images.

This hurts so much because it’s my life :(

…then don’t study computer science. I study CS and it’s annoying when someone in a more math/logic oriented course is like “If I get a job at a tech company I won’t need this”. All that IS computer science, if you just wanna code, learn to code.

Neato
link
fedilink
181Y

Can you get well paying coding jobs with upward mobility without at least a BA in CS?

oce 🐆
link
fedilink
61Y

Maybe not what you’re asking but people with a non-CS M.Sc or PhD commonly switch to coding, especially in the data fields.

@Zetaphor@zemmy.cc
link
fedilink
English
2
edit-2
1Y

I’ve never been to college and my job title today is Software Architect, I’ve been doing this for nearly 20 years.

It was extremely hard at first to get a job because everyone wanted a BA, but that was also 20 years ago. Once I had some experience and could clearly demonstrate my capabilities they were more open to hiring me. The thing a degree shows is that you have some level of experience and commitment, but the reality is a BA in CompSci doesn’t actually prepare you for the reality of 99% of software development.

I think most companies these days have come to realize this. Unless you’re trying to apply to one of the FANG corps (or whatever the acronym is now) you’ll be just fine if you have a decent portfolio and can demonstrate an understanding of the fundamentals.

I used to work at a small tech company (5-10 employees) and when we hired for entry level coders we’d receive hundreds of applications. Most of them would be grads from bootcamps, some with undergraduate degrees and some without. My boss would just throw out any that didn’t have a bs in something, but preferred a stem degree. He knew they didn’t need a degree, he knew you didn’t need actual coding experience, it was just a quick (maybe illegal) way to make that list of applications more manageable.

It’s harder to break into but I make 150k and barely graduated high school. Software engineering is largely a field that doesn’t care about degrees but about ability. It’s harder these days to break into the field than it was 10 years ago when I did but it’s absolutely still possible

@itsJoelle@lemmy.world
link
fedilink
English
31Y

I can agree with this. Landed my first dev job after working as a tradesman for a decade, but I liked computers enough to learn on my own. My ‘trade’ offered a ‘unique persepective,’ I guess.

When I was looking for coding jobs with a decent portfolio, but no computer science degree I got 1 interview out of 300 applications. They absolutely will not look at you if you don’t have the CS degree, or already know someone at the company who can force you in.

I’m guessing this is US-centric?

@Tavarin@lemmy.world
link
fedilink
English
11Y

Canada.

This is also just the reality of the job market, especially in this industry. Dev positions get hundreds if not thousands of applications which all vary widely in quality.

I have 20 years of experience and a six figure salary, the last time I went looking for work and was putting out applications I sent out easily over 100 applications and only had 4 interviews. I’ve found it’s best to form a relationship with a competent recruiter, and work with them anytime you’re back on the market. They’re incentivized to find you a decent position so that they can make their commission. Of course finding one that is decent is almost as hard as the process of sending out applications, but once you do it’s a relationship worth maintaining.

If you entered the field 10 years ago, sure. If you’re trying to enter the field now, I have bad news…

Anecdotally, I have an associates degree in horticulture and am currently the engineering lead for a team of six

I have a fine arts degree and I’m a lead dev 🤷‍♂️

You must write beautiful code

It’s all ASCII art, but it runs like shit ;P More seriously; what constitutes beautiful code is very open to interpretation. Someone would say that a single line of list comprehension expression is beautiful while another would say the same thing expressed over several lines making the logic abundantly clear is beautiful.

@Zetaphor@zemmy.cc
link
fedilink
English
471Y

The problem is a lot of people who want to learn to code, and are conditioned to desire the college route of education, don’t actually know that there is a difference and that you can be completely self-taught in the field without ever stepping foot in a university.

oce 🐆
link
fedilink
English
131Y

We’re not closing schools despite having libraries and the internet, having (good) teachers is useful to learn faster and get pushed further. There are some good programming schools that can make it more efficient for you. I think the main problem is rather the insane cost of higher education in the USA which create anxiety about being certain that you can repay it in the future it may open for you. It is sad.

I always wanted to believe this, but, at least in my country, not even a specialized high school degree is enough to get me anywhere for months, it’s crazy.
Maybe you could even make it without formal education, but everyone’s always looking for those sweet 3+ years of experience in the field (ಥ﹏ಥ)

@Zetaphor@zemmy.cc
link
fedilink
English
61Y

I certainly experienced this at the start of my career. Everyone wanted me to have at least bachelors degree despite the fact that I was able to run circles around fresh college graduates. It wasn’t until someone gave me a chance and I had real world experience that people stopped asking me about my college education. In fact later into my career when they learn about the level of experience I have and that I’m entirely self-taught, it’s often seen as something positive. It’s a shitty catch-22

So it really is like that eh?
Do you have any tips for what could help me, even a little bit, to have better chances?

@Zetaphor@zemmy.cc
link
fedilink
English
21Y

Build an open source portfolio. Being able to show employers what I was capable of was a massive benefit both then and now. You can say you know all of these things, but when you’re looking at hundreds of applications one of the first things they do to reduce the pile is filter out people who don’t have some kind of online presence like Github. This allows them to see that you’re actively engaged with the field and if they want to interview you, to look at your code quality and experience.

A personal website that highlights your best work is also a good idea, as it helps to even further distill down the things you’re ultimately going to end up talking about in an interview. It doesn’t need to be anything fancy, just something that shows your competent. I wouldn’t expect the person interviewing you to actually hit view source and criticize your choice in frontend framework.

@Faresh@lemmy.ml
link
fedilink
English
11Y

Without any prior professional experience, is an extensive open-source/[other non-professional software development related experience] portfolio perceived as more valuable than a degree to employers?

@Zetaphor@zemmy.cc
link
fedilink
English
21Y

That entirely depends on the employer, but in my anecdotal experience that has been the case. Especially in more recent years versus the start of my career (nearly 20 years ago).

The reality is that Computer Science is useful for building strong engineers over the long-term, but it doesn’t at all prepare you for the reality of working in a team environment and contributing code to a living project. They don’t even teach you git as far as I’m aware.

Contributing to open source demonstrates a lot of the real-world skills that are required in a workplace, beyond just having the comprehension and skill in the language/tool of choice you’re interviewing for.

Yeah, I do that actually, though I keep a “serious” profile where there’s little activity and another one where I can just do whatever so I engage a lot more with other projects and make some experiments for myself, so it also ends up being the most active, but I don’t show it, maybe I should?

In my experience interviewers look very pleased when I show them what I made, but they don’t seem to dig into it much most of the time, so I don’t know how important they really find it.
I’ll definitely try to put more emphasis on those anyway, so they can see a good showcase.

A personal website that highlights your best work

That sounds interesting, I’ll definitely try that, thanks!

@Zetaphor@zemmy.cc
link
fedilink
English
21Y

Just a heads up, you replied multiple times to this. If the client you’re using doesn’t submit immediately, that just means it’s not doing error handling properly and not disabling submit buttons while the request is in flight. You’ve actually submitted once for each time you pressed the button

Yeah, I do that actually, though I keep a “serious” profile where there’s little activity and another one where I can just do whatever so I engage a lot more with other projects and make some experiments for myself, so it also ends up being the most active, but I don’t show it, maybe I should?

In my experience interviewers look very pleased when I show them what I made, but they don’t seem to dig into it much most of the time, so I don’t know how important they really find it.
I’ll definitely try to put more emphasis on those anyway, so they can see a good showcase.

A personal website that highlights your best work

That sounds interesting, I’ll definitely try that, thanks!

Yeah, I do that actually, though I keep a “serious” profile where there’s little activity and another one where I can just do whatever so I engage a lot more with other projects and make some experiments for myself, so it also ends up being the most active, but I don’t show it, maybe I should?

In my experience interviewers look very pleased when I show them what I made, but they don’t seem to dig into it much most of the time, so I don’t know how important they really find it.
I’ll definitely try to put more emphasis on those anyway, so they can see a good showcase.

A personal website that highlights your best work

That sounds interesting, I’ll definitely try that, thanks!

Yeah, I do that actually, though I keep a “serious” profile where there’s little activity and another one where I can just do whatever so I engage a lot more with other projects and make some experiments for myself, so it also ends up being the most active, but I don’t show it, maybe I should?

In my experience interviewers look very pleased when I show them what I made, but they don’t seem to dig into it much most of the time, so I don’t know how important they really find it.
I’ll definitely try to put more emphasis on those anyway, so they can see a good showcase.

A personal website that highlights your best work

That sounds interesting, I’ll definitely try that, thanks!

@dhruv@lemmy.world
link
fedilink
English
31Y

It is really difficult to get a good job being self taught.

panCat
link
fedilink
31Y

Well what i felt working at a tech company that there are instances where we run into specific problems those may need to devise an algo ,and most of my non computer science peers fail to understand why!!

I would have done CS if every math class at my school didn’t have 500 people in it. Even college algebra. They basically made everything a weed-out class

I do think many of the CS concepts are pretty cool :)

Since when were Turing machines ever nondeterministic?

If you augment a TM with nondeterminism, it can still be reduced to a deterministic TM.

Wait till you hear about oracle machines. They can solve any problem, even the halting problem.

(It’s just another mathematical construct that you can do cool things with to prove certain things)

Julian
link
fedilink
41Y

Thanks for the fun rabbit hole. They can’t really solve the halting problem though, you can make an oracle solve the halting problem for a turning machine but not for itself. Then of course you can make another oracle machine that solves the halting problem for that oracle machine, and so on and so forth, but an oracle machine can never solve its own halting problem.

Nondeterministic turing machines are the same kind of impossible theoretical automaton as an NFA. They can theoretically solve NP problems.

Christian
link
fedilink
11Y

It’s been a long long time since I touched this but I’m still almost positive deterministic machines can solve everything in NP already.

They exist in the same grammatical hierarchy so theoretically they can solve the same problems. What I should have said was that nondeterministic turing machines can solve NP problems in P

GTG3000
link
fedilink
251Y

But you can make games that much more interesting if your algorithms are on point.

Otherwise it’s all “well I don’t know why it generated map that’s insane”. Or “well AI has this weird bug but I don’t understand where it’s coming from”.

panCat
link
fedilink
11Y

My favorite subject!

panCat
link
fedilink
61Y

My favorite subject at engineering school !

Hm, I wonder if I could make these students more miserable by introducing a CPU that permits static operation, then clocking that with a true random number generator?

So now it has output that is deterministic from the standpoint of the CPU but nondeterministic to an outside observer. Probably wouldn’t affect the O(n) notation though, come to think of it. It would be funny though.

A few failed exams later you end up programming cyberpunk and since you’re so oblivious to algorithms’ complexity it becomes a meme not a game.

But it’s ok because now Nvidia has to deal with your garbage code due to Cyberpunk being the only game that supports the latest graphics tech.

I wonder how many in that class will ever need to think about multitape Turing machines ever again.

Ram is literally just the tape. Modern computers are just multitape turing machines, albeit the tape ends at some point.

Technically a multitape Turing machine is a Turing machine.

Platypus
link
fedilink
English
01Y

Only the ones who don’t grow up to be total code monkeys

z500
link
fedilink
71Y

Never used a Turing machine, but I have a project that generates NFAs and converts them to DFAs so they run faster.

Riskable
link
fedilink
31Y

How does one convert a No Fear Article into a Definitely Fear Article?

@CallumWells@lemmy.ml
link
fedilink
English
31Y

I thought it was Non-Fungible Articles and Decentralised Federated Articles

I didn’t go to university, because I wanted to learn useful stuff, but because I’m curiousity driven. There is so much cool stuff and it’s very cool to learn it. That’s the point of university that it prepares you for a scientific career where the ultimate goal is knowledge not profit maximisation (super idealistically).

Talking about Turing Machines it’s such a fun concept. People use this to build computers out of everything - like really - it became a Sport by this point. When the last Zelda was Released the first question for many was, if they can build a computer inside it.

Does it serve a practical purpose? At the end of the day 99% of the time the answer will be no, we have computing machines built from transistors that are the fastest we know of, lets just use these.

But 1% of the time people recognize something useful… hey we now found out in principle one can build computers from quantum particles… we found an algorithm that could beat classical computers in a certain task… we found a way to actually do this in reality, but it’s more proof of concept (15 = 5×3)… and so on

The point of these lectures is mostly not to teach how to work with Turing machines, it is to understand the theoretical limits of computers. The Turing machine is just a simple to describe and well-studied tool used to explore that.

For example, are there things there that cannot be computed on a computer, no matter for how long it computes? What about if the computer is able to make guesses along the way, can it compute more? Because of this comic, no — it would only be a lot faster.

Arguably, many programmers can do their job even without knowing any of that. But it certainly helps with seeing the big picture.

Riskable
link
fedilink
61Y

Arguably, a much more important thing for the students to learn is the limits of humans. The limits of the computer will never be a problem for 99% of these students or they’ll just learn on the job the types of problems they’re good at solving and the ones that aren’t.

Two govt spooks are hunting a dangerous fugitive who is also a humanities graduate. He escapes into a sprawling maze of tunnels. “It’s hopeless,” one of the spooks says. But the other simply says, “Watch.” then proclaims loudly, “studying linear algebra is important because of its use in stochastic processes and image manipulation.” Before he finishes the sentence, the fugitive emerges back out the tunnel and shouts, “but what’s even more important --” and is immediately knocked unconscious and taken for questioning

The limits of computers would be the same as the limits for humans. We have no reason to think the human brain has a stronger computation power than a Turing machine.

So, in a way, learning about the limits of computers is the exact same as learning the limits of humans.

But also, learning what the limits of computers are is absolutely relevant. You get asked to create an algorithm for a problem and its useful to be able to figure out whether it actually is solvable, or how fast it theoretically can be. Avoids wasting everyone’s time trying to build an infinite loop detector.

Riskable
link
fedilink
English
41Y

The “limits of humans” I was referring to were things like:

  • How long can you push a deadline before someone starts to get really mad
  • How many dark patterns you can cram into an app before the users stop using it
  • The extremes of human stupidity

👍

@SkyeStarfall@lemmy.blahaj.zone
link
fedilink
English
4
edit-2
1Y

…none of which would be relevant for most people working in back-end, which would be most people that take compsci.

I would hate to go to a compsci study and learn management instead. It’s not what I signed up for.

University also shouldn’t just be a job training program.

… and then you program games and you do the least performant bogosort you can ever think of

Export to excel and scroll till you find it

About 15 years on, I’m still so happy I got good coursework marks for the route-finding equivalent of a bogosort. Picked a bunch of random routes and pick the fastest. Sure, that guy who set up a neural net to figure it out did well, but mine didn’t take days of training, and still did about as well in the same sort of execution time.

Meanwhile over in the mechanical engineering department, someone is complaining that they have to learn physics when they just wanted to build cool cars.

I took engineering for a year before I realized it had nothing to do with trains.

Yeah that’s why you go into physical training. That physically has trains… Right?

That sounds right…

@ngwoo@lemmy.world
link
fedilink
English
21Y

After you draw your 100th free body diagram a car pops out

It’s not math class; it’s deriver’s ed.

I did games technology at university. We had a module that was just playing board games and eventually making one. Also did an unreal engine module that ended with making a game and a cinematic.

It was awesome.

Create a post

Post funny things about programming here! (Or just rant about your favourite programming language.)

Rules:

  • Posts must be relevant to programming, programmers, or computer science.
  • No NSFW content.
  • Jokes must be in good taste. No hate speech, bigotry, etc.
  • 1 user online
  • 50 users / day
  • 169 users / week
  • 442 users / month
  • 2.42K users / 6 months
  • 1 subscriber
  • 1.61K Posts
  • 35.6K Comments
  • Modlog