TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

Ask HN: Final year project in CS

38 点作者 knowbody超过 10 年前
Hey I need to choose the topic of my final year project of BSc Software Engineering. My uni obviously gives whole bunch of topics to choose from, but none of them are interesting to me. They are super boring (build a website for some uni department, etc.) - BOOORING!<p>I would love to do something outstanding, something what I could show of with to my future employers.<p>I am interested in big data, AI. I was thinking of doing something with drones, or some social media data analysis, or something with computer vision.<p>Any advice?

31 条评论

brudgers超过 10 年前
Building a website for the archeology department is a real engineering project. It requires domain knowledge, requirements gathering, specification, working with stakeholders, iterative design, deployment, and consciousness of maintainability.<p>&quot;Something with drones&quot; is not a Software Engineering project. Writing a poem about drones is enough. On the other hand, if you can show future employers that you solved AI or Big Data as a senior project, the road ahead will be paved with yellow bricks.<p>The critical thing is to show your ability to execute and part of a portfolio is to provide a familiar context in which to discuss engineering decisions as engineering decisions.<p>Don&#x27;t get me wrong, some students will have really cool ideas for their senior project. Many of them will have been thinking about it for a long time. A few of them will just be the sort of person who comes up with cool ideas. It&#x27;s a bit late to try and become either type.<p>Good luck.
评论 #8385197 未加载
评论 #8380490 未加载
评论 #8380515 未加载
alasdair_超过 10 年前
Pick an open source project that you like, fix a couple of bugs to show you&#x27;re serious then talk with the project maintainer(s) and tell them you want to do something that takes 150 hours or so.<p>The reason for doing something open source is that you can point to it when a future employer asks. If you choose a &quot;brand name&quot; project, you can get a lot of kudos for being associated with something like that.
评论 #8380521 未加载
Retric超过 10 年前
Major projects take a lot more effort than you might expect. I would try and have lot&#x27;s of small milestones that actually do something useful. The idea is even if you don&#x27;t get everything working you still have something significant to fall back on.
zorrb超过 10 年前
Build the website for some uni department.<p>Do a good job. With all the time you save, you can focus on doing things with drones or AI or whatever you want. Then inevitably when the scope of those projects goes out of control you won&#x27;t have the stress hanging over you of it being for school and will be able to explore the domain with a light heart!
评论 #8380025 未加载
评论 #8379980 未加载
Osmose超过 10 年前
My senior project was a Super Nintendo emulator. It worked out well because 1) there&#x27;s a decent amount of documentation out there on sites like romhacking.net, 2) there&#x27;s usually at least one open-source emulator that you can use to figure out tricky bits (we used bsnes to help us understand how to render graphics when the documentation was vague or incorrect), and 3) emulators are super-easy to demo and verifying if you got it right is easy due to existing code you can run to test.
nieksand超过 10 年前
Consider doing some language processing using the excellent NLTK library: <a href="http://www.nltk.org/" rel="nofollow">http:&#x2F;&#x2F;www.nltk.org&#x2F;</a><p>It wasn&#x27;t on the lists of &quot;wants&quot;, but implementing the Raft consensus protocol could be neat too. It was designed to be understandable and implementable. The video is here: <a href="https://www.youtube.com/watch?v=YbZ3zDzDnrw" rel="nofollow">https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=YbZ3zDzDnrw</a>. The research paper is here: <a href="https://ramcloud.stanford.edu/wiki/download/attachments/11370504/raft.pdf" rel="nofollow">https:&#x2F;&#x2F;ramcloud.stanford.edu&#x2F;wiki&#x2F;download&#x2F;attachments&#x2F;1137...</a>
评论 #8380013 未加载
elecengin超过 10 年前
A word of caution - projects in topics like AI and big data sometimes end up being much larger than you thought at first. I would suggest that you find something achievable within the time you have. Besides teaching technical skills, capstone projects teach project management skills. I think you will find that future employers will be much more impressed with a well executed project than a technically impressive project that never got off the runway.<p>That doesn&#x27;t mean you cant explore these topics... just find something that you are passionate about, and aggressively scope it down for the first pass. If you succeed, you can always make it larger!
评论 #8379935 未加载
sam_bwut超过 10 年前
Have you tried talking directly to researches with similar interests to you about potential ideas? They&#x27;ll often have stuff in the back of their minds that they wouldn&#x27;t want to put out as a general proposal to undergrads...
评论 #8379941 未加载
mcarrano超过 10 年前
Be sure to check with your CS department that you can work on your own idea.<p>I know at my university, if I wanted to work on my own project, I had to submit a proposal several months in advance. In addition to that, I needed to have an outside stakeholder who wanted to &quot;sponsor&quot; the project.<p>1. The idea needs to be technically challenging.<p>2. The idea must be small enough in size to complete in the allotted time frame.<p>3. An outside stakeholder must &quot;sponsor&quot; the project to mimic the real world of working with others such as a project manager.
评论 #8380127 未加载
Softly超过 10 年前
The choice of supervisor is pretty important, I was lucky and found one who held weekly meetings with all her students and who kept us all on track. She even pushed me to publish an academic paper (and a free trip to Italy to present it).<p>Mine was computer vision based, so you&#x27;re welcome to take a look: <a href="https://github.com/SoftlySplinter/kyffin-digital-analysis" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;SoftlySplinter&#x2F;kyffin-digital-analysis</a>
评论 #8380537 未加载
arh68超过 10 年前
Less big data, more ML: you could build a rudimentary shazam, for either audio or images. Use small samples (~1sec clips, or 10~20% image crops) to match against an existing corpus. Bonus if the audio is distorted &amp;&#x2F; the image is skewed&#x2F;rotated a slight amount.<p>Not as fun: write a k-lambda [1] interpreter in x64 or ARM. More fun: write it in Python or Go. Not fun at all: write it in Verilog&#x2F;VHDL.<p>Big data: I hope you like football! Just kidding, there are other datasets, too. You could simply create a responsive website for exploring the dataset. Or do some interesting analysis. Up to you. [2], [3]<p>[1] <a href="http://www.shenlanguage.org/learn-shen/shendoc.htm#The%20Primitive%20Functions%20of%20K%20Lambda" rel="nofollow">http:&#x2F;&#x2F;www.shenlanguage.org&#x2F;learn-shen&#x2F;shendoc.htm#The%20Pri...</a><p>[2] [large!] <a href="http://aragorn.org/data/sports/NFL/seasons/metadata_since_1980/uncleaned_nfl_game_metadata_since_1980.csv" rel="nofollow">http:&#x2F;&#x2F;aragorn.org&#x2F;data&#x2F;sports&#x2F;NFL&#x2F;seasons&#x2F;metadata_since_19...</a><p>[3] <a href="http://www.wired.com/2012/09/nfl-momentum/" rel="nofollow">http:&#x2F;&#x2F;www.wired.com&#x2F;2012&#x2F;09&#x2F;nfl-momentum&#x2F;</a>
评论 #8380596 未加载
hauget超过 10 年前
1. Think about how much time &amp; budget you have first. You want to make sure you can finish your project and can get it done with the resources you have.<p>2.1 If you&#x27;re interested in &quot;big data&#x2F;analytics&quot;, why not look into Cloudera &amp; Datameer, and talk to some people at the World Bank &amp; the Inter-American Development Bank to see what problems you could solve for them?<p>2.2 Regarding AI, email&#x2F;tweet some of the people at Deepmind &amp; Vicarious (you can google for employee names) to see what they can suggest.<p>2.3 Regarding computer vision, try emailing Blaise Aguera or Johnny Lee to see what they consider &quot;interesting&quot; (or just google some of their work).<p>3. Finally, AND THIS IS THE MOST IMPORTANT STEP: think about why you&#x27;re doing this. Do you just want to get it over with so you can move onto something else? If so, pick a project that&#x27;s relatively simple but difficult (running a marathon is simple but difficult). Otherwise, if you want something meaningful, choose something that will be fun. Choose a question that YOU want answered and that peaks your interest. Curiousity+fun will make the work feel like no work at all. GOOD LUCK!
评论 #8380592 未加载
jiggy2011超过 10 年前
Look at the research that the faculty of your CS department is involved with, find something there that interests you and approach whoever is heading up that research and ask them to be your supervisor. See if there is some piece that you can contribute without having to understand the totality of the research.
buremba超过 10 年前
I&#x27;m working on an open-source analytics project, since you&#x27;re interested in big data you might want to take a look at it. <a href="https://github.com/buremba/rakam" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;buremba&#x2F;rakam</a>
ripitrust超过 10 年前
Talk to your supervisor about your idea, draft a basic plan of the project timeline and the technology&#x2F;knowledge that are required, See if you really can do it.<p>A big pitfall of FYP is that aiming too high but actually struggled along the way
segmondy超过 10 年前
The problem with AI, if you don&#x27;t have visual&#x2F;immediately verifiable results, you fail. You could make great progress and have a partial solution needing polishing, and it won&#x27;t be good enough if your professor is not a smart man.<p>A website or some graphics tool kit, well, it might not be done, but the partial solution could be seen and you get good grades. I say go for the easy stuff, take your good grades and graduate. I believe that If you were really serious and had the chops you would have had a bunch of problems that interest you and you won&#x27;t be asking us.
patrickdavey超过 10 年前
My only advice is slightly tangential to the question:<p>Do not lose track of how much your project contributes to your final grade (if you care about grades). It is so so easy to spend 99% of your time doing the fun project which counts towards 20% of your degree, leaving 1% of your time to study for the remaining 80%...<p>That said, having a decent project to show is at least if not more useful in getting a job out the other side (if that&#x27;s what you want).<p>Good luck, would be interested to see what you end up picking.
imjustabill超过 10 年前
Look for a local charity or nonprofit that might need some work done. Having real stakeholders, requirements, etc, is a great way to simulate what a real project will be like.
JSeymourATL超过 10 年前
BIG IDEA: What we are not seeing yet is all this data being converted into something meaningful that front line customer service analysts can use when managing customers.<p>- See more at: <a href="http://www.information-age.com/technology/information-management/123458489/why-moving-information-missing-link-big-data-chain#sthash.UjdqsnEc.dpuf" rel="nofollow">http:&#x2F;&#x2F;www.information-age.com&#x2F;technology&#x2F;information-manage...</a>
stevoo超过 10 年前
Hi, this is exactly what i was facing. The projects provides were boring. Nothing exciting so i picked my own project.<p>I build a chess playing lego robot. What do take in mind is that you dont overeach. You have a set amount of time. Make sure the project you pick is achievable. I over aimed and took me a bit longer to finish.<p>But building a complete solution for a website is not an easy task. It takes a lot of planning and knowledge to complete it.
Mnkras超过 10 年前
One thing that I am most likely to do is to re-build or replace older and less functional pieces of software used by the educational institution.<p>It&#x27;s win win, there is almost always some form of old software that needs updating, new features, or just needs to be completely new, and many educational institutions will jump at &quot;free&quot; work.
middleclick超过 10 年前
Start with an open source project that you love and can work on (technically). Talk to the developers, read the project website and work on a feature that will constitute the duration of the final year project. That way, you will be contributing to something that will help others and also get your project done!
bsmartt超过 10 年前
For my senior project, I was able to find a company with work in the open source space, and got a job out of it from making notable contributions to their OSS offerings. Github issues and explore are good places to start. Try and get in touch with the project leaders.
knackernews超过 10 年前
You need to focus on why you&#x27;re doing this - It&#x27;s for your degree.<p>And since it&#x27;s only your BSc just do the easiest project that&#x27;s not boring and get it out of the way.<p>Build the cool stuff later. A few years from now no one will care about your GPA, let alone your final year project.
评论 #8380256 未加载
评论 #8380134 未加载
评论 #8385218 未加载
hmottestad超过 10 年前
Well, one thing I always wanted to do was controlling house lighting by doing face recognition.
评论 #8379992 未加载
craig0990超过 10 年前
I remember feeling the same thing - I could just &quot;build a website&quot; but I wanted to prove that I had actually learned something over the last three years.<p>So what did I do? I re-implemented Git in PHP (read-only). It was, to put it mildly, difficult, and stressful, but I actually managed to pull it off (mostly).<p>I didn&#x27;t just choose at random, obviously. I wanted to add file version support to an open-source project, and after some basic research, settled on Git. The catch was that the open-source project ran in a pure-PHP environment (no modules beyond those commonly found on shared hosting). So I had to find a way of reading Git repositories in PHP without resorting to exec() etc. Hence, read-only Git in pure PHP. Throw in WebDAV or SSH and you can actually push &#x2F; pull to those repositories with front-end clients like SparkleShare, which was a good candidate for future work.<p>I nearly went crazy, of course. I had little-to-no understanding of DVCS concepts, graphs, and so on (big O analysis is still difficult to be honest). However, by writing the project, I got much more direct experience of graph theory than I ever would studying a text book. This has turned out to be incredibly useful in my day-job as a developer.<p>The take-away I&#x27;m trying to get to is: pick something completely (or slightly) unrelated to computer science concepts like big data, AI, etc. and find something you&#x27;re interested in. Then ask the question &quot;How do I apply X to this?&quot;.<p>(These examples are purely off the top of my head, and may actually be ridiculous in practice. YMMV)<p>&quot;How can I use big data techniques to analyse my web server&#x27;s access logs?&quot; &quot;How can I use AI&#x2F;Machine Learning to detect shellshock attacks on my server?&quot; &quot;How can I use computer vision techniques to render a map of the local area using drones?&quot; &quot;How can I use big data, AI, machine learning, and computer vision techniques to analyse the proportion of cat pictures and videos posted to social media?&quot;<p>What I want to re-iterate though is that I started with &quot;I want to add file versioning support to this software&quot; and ended up discussing graph theory, diffs, patches, open-source etiquette posts by ESR, big-endian and little-endian integers (Git uses both in it&#x27;s file formats), binary fanout tables, the SHA-1 algorithm, content-addressable filesystems, and all sorts of other crazy stuff I hadn&#x27;t even anticipated when I started.<p>My supervisor liked it - I wanted to sleep for a month straight.
ckvamme超过 10 年前
Build a drone using ArduPilot - on top of 3DRobotics hardware. Write an AI that combines input from Twitter sentiment analysis and OpenCV to autonomously fly around the world looking for sad tweeters - drop a burrito on them.<p>Check, check, and check.
rizaherzego超过 10 年前
Waw, me too have the same problem. I am interested to make final year project about education and technology (not really interested to pure &quot;computer science&quot; field like design algorithm, etc.), anyone has a good idea?
ThomPete超过 10 年前
Build a voting system based on the crypto protocol.
wallarelvo超过 10 年前
Build a sports analysis application
评论 #8379999 未加载
mobman超过 10 年前
contribute to my PHP Vulnerability analyzer. make it better.<p>mobman.bitbucket.org
评论 #8380219 未加载