this post was submitted on 14 Jun 2024
17 points (90.5% liked)

Programming

17000 readers
94 users here now

Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!

Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.

Hope you enjoy the instance!

Rules

Rules

  • Follow the programming.dev instance rules
  • Keep content related to programming in some way
  • If you're posting long videos try to add in some form of tldr for those who don't want to watch videos

Wormhole

Follow the wormhole through a path of communities [email protected]



founded 1 year ago
MODERATORS
 

Any tips or ideas on choosing a final year project? I don't really have any ideas in mind other than implementing an LLM, not sure how applicable or good this is though, my major is computer engineering and i'm only interested in software dev

top 11 comments
sorted by: hot top controversial new old
[–] [email protected] 7 points 3 months ago

Silly idea: computer vision for classtoom rollcall. Take a photo and it generates a list of absences.

[–] [email protected] 4 points 3 months ago (1 children)

I am unfamiliar with your school system I think. Final year of college / university? Do you have a specialization in your major (graphics, machine learning, embedded, networks / security - something like this?)

I'd go with something from the specialization if you have one. If not, just something that interests you.

[–] [email protected] 4 points 3 months ago

I'm interested in graphics and infosec

[–] [email protected] 3 points 3 months ago* (last edited 3 months ago)

I don’t think you should do LLM or machine learning stuff if you want to get software development out of the project. Mostly because most of the time you won’t do software dev stuff with that kind of stuff. You will mostly just download some off the shelf model, prepare data, tweak parameters, cross your fingers and pray for slightly better results, and repeat.

My recommendation without knowing much about you is to make a game engine. You remove the pressure of making something practical, and can just focus on making stuff that looks cool. You can easily control the scope of the project, and you will face a great variety of software development challenges. Lots of opportunities to learn.

And finally you will also have something that’s fun to present.

[–] MajorHavoc 3 points 3 months ago* (last edited 3 months ago)

An LLM pointed at various (local) public sources of data, that can answer (local) voter questions, could be pretty cool.

I.e: "Summarize X candidate's voting record on tax increases/education/walkable cities/unionization/etc....

[–] KKriegGG 2 points 3 months ago (1 children)

LLMs are all the hype but there are plenty of solid computer science projects. Some options that come to mind:

  1. Your own DB engine
  2. Your own game engine (you can put a cool twist on it - I had a thought of making a game in non-euclidean 3D space)
  3. Your own client/server Etc...

A more general option is to look for free APIs and use that is base for ideas.

What topics do you find interesting?

[–] Lmaydev 3 points 3 months ago (1 children)

They aren't all hype. They are amazing technology.

A lot of the software built with them is completely just hype though.

[–] KKriegGG 2 points 3 months ago

I didn't say they are "all hype", I said they are "all the hype". I agree they are useful, but over hyped.

[–] Kissaki 1 points 3 months ago

Ask your profs or other applicable personnel for offered final year projects, suggestions, and previous years projects. You can also check software dev companies which may offer such projects as job openings. That'll give you more of an overview of current common projects, and some ideas of what you could do.

[–] [email protected] 1 points 3 months ago (1 children)

I might misunderstand what you mean with "implementing" an LLM, but unless you have a good understanding of deep learning and math I wouldn't recommend to implement one from scratch. There's a lot of complex math involved in these kind of topics. If you mean implementing an application around an existing LLM, for example writing a chat website that interfaces with ChatGPT or a local LLM, then it's doable (depending on you current skills).

[–] [email protected] 3 points 3 months ago

The math involved in LLMs is not complex for anyone that has passed undergrad Calc and Linear Algebra classes. If you know derivatives, the chain rule and some matrix basics you can figure them out with enough studying.

The hard part about LLMs is not the math but the neural net architecture innovations they brought (eg self-attention)