Tag Info

Hot answers tagged

70

Several reasons come to mind. Code is too big for article. For a short period of time, interesting projects were short enough to be published with the paper that described them. This can still happen, but many projects of sufficiently large size to be interesting have grown too big to be published with the papers that describe them. Public hosts not ...


37

Read Randall LeVeque's presentation on "Top 10 Reasons to Not Share Your Code (and why you should anyway)" http://faculty.washington.edu/rjl/talks/LeVeque_CSE2011.pdf He argues compellingly that code is analogous to proofs in Mathematics, and invites us to consider a world where proofs aren't published, because they are too long, or too ugly, or don't work ...


29

Great Question. It is important to distinguish between 'Development' and 'R&D.' Point 1 R&D = experimenting with ideas/technology that may never actually become a product. Software Development = working on a product/service desired by a real customer. Point 2 R&D is all about developing new solutions for a specific ...


27

This vastly depends on what school you get a degree from. Some schools are more skills-based, teaching things that can be put on a resume to get a job. Others are more knowledge-based, focusing more on abstract topics. They both have their advantages. A degree from a more skills-based school will make you more comfortable coming into a new job, since ...


27

Generally, the programs used to produce the papers results are only tools, and only the results matter. So they are not placed on the paper which presents the context, the methodology, the results and a discussion about them. But results must be reproducible. And then, when the data sources on which the paper is based are publicly available, the programs ...


23

What do you find is a common weakness of new hires and/or new grad students? In undergraduate students, a lack of mastery. They know a little bit about a lot of things, but in industry, that simply doesn't cut it. This lack of defined expertise is common to most undergraduate students, not just computer scientists. In grad students, a lack of ...


21

Any flavor of Linux/Unix system. Graduate studies are rarely Windows-based.


19

There are already a number of measures of code complexity: Cyclomatic complexity Class length Method length Number of fields Number of method parameters N-path complexity Fan-in and fan-out Data flow analysis (DU/DD chains) Work has been done to correlate these to defect density, effort to maintain, and ease of understanding. Some are more meaningful ...


16

You can use Wikipedia's data dumps. The XML data dump for English Wikipedia that includes current revisions only is about 31 GB, so I'd say it would be a good start for your research. The data dump is pretty big, so you should consider extracting the texts from XML with a SAX parser. WikiXMLJ is a handy Java API tuned for Wikipedia. And then, of course, ...


15

No. For a very simple reason: you can't test it. Let's say you can evaluate productivity, and give a number (by the way, how do you do it?). Now how do you create a situation where a developer will be in the exact same circumstances, remotely in a part of the test, on-site in another part? Even if you succeed in doing such a test, what it will show? How ...


15

I don't claim to be an expert on the subject of hype cycles, but I'll offer a few observations: The hype cycle seems to be more a product of expectations and media coverage than a characteristic of technology itself. My dictionary says that hype is "extravagant or intensive publicity or promotion." It defines publicity as "the notice or attention given to ...


14

I work at R&D. For one thing, most of it is about the "D" part, that is, building things. You can't escape it. The primary goal of any commercial R&D department is to develop things that work (and that can be sold to customers in order to pay your salary). As Edison put it: 1 % inspiration and 99 % perspiration. Then there's of course the rare "R" ...


14

I've not met any entry-level person in the computer science field who had the slightest idea of how to query a database. I've not seen any business-oriented project that didn't need to do this (granted there are some, but not in the typical business environment where most graduates will get jobs).


14

It is not closed source. The software simply hasn't been published at all. Short answer: There are several reasons not to publish the software, but it's uncommon to publish the software in a closed-source manner. Long answer: Closed source means that the software has been published and the source-code has not. But the common case is that neither the ...


13

I think this is looking at it slightly myopically. What is integral to effective and efficient software development (and almost every other profession) is research. Google just happens to be the current tool of choice for getting access to information we now most commonly use for this research. Best practices for reseaching include: Verify by finding ...


12

Coding is Simple Coding is the easiest part of the entire job description. Planning, research, learning on the fly, these are the hard things. Because they are harder the inherently take more time. I have never found myself at a lack of speed in laying down code. Only then my planning or research is done poorly do I find myself backtracking because it's ...


12

I think you're trying to draw a parallel between thermodynamic entropy and "complexity." The thing is, entropy is a measure of disorder not complexity. I don't believe that the two are equivalent and interchangeable. The closest analog to thermodynamic entropy is Shannon entropy which measures the amount of disorder in a random variable. This notion is ...


11

You gotta break it down. Think about the different elements that make up what you want to do. Try to think about them in a general rather than specific sense. Think about what might overlap something that you've done before. e.g., in the case of your YouTube Downloader idea: Download videos from YouTube More general view: download files linked to from a ...


11

There are Many Visual Programming languages. But ultimately they all convert to text. Programming is not a linear task, how would you edit a Gesture? You could use Speech to Text to code by voice, but again, it's converted to text. I forgot about Gmail Motion , not really programming but related.


11

This isn't an exact match for what you were requesting, but I think it gets pretty close to the root of your question. This site's page on Loops discusses a number of looping patterns. counting filtered-count accumulate filtered-accumulate search extreme extreme-index filter map shuffle merge fossilized missed-condition They ...


10

Citeseer, Google Scholar, etc. Finding related research is a huge part of grad school. A program to help you organize references. All the related work and papers you've read/cited. I used a spreadsheet and the Mac-based Papers. When it comes time to write chapter 2 of your thesis ("Related Work"), the work you did five years ago will be fuzzy; writing it ...


10

I would like new graduates to come out with all of the following: A decent understanding of basic coding best practices. This would be covered by exposure to everything in Code Complete. Experience in using some form of source control, and an understanding of why it matters. Experience with unit testing. A decent understanding of algorithms, efficiency, ...


10

I would say most people working in the software industry don't have enough time on their hands to write academic papers - it's quite time consuming and of doubtful value - most papers are pretty poor things, often stating the blindingly obvious. If you want to get your name in front of people like Google, then contributing high-quality answers to a site like ...


9

Let's get a few things straight. First there is no protection of your company's assets against software patents to be had in any country which permits them. Specifically, forming an LLC will only protect your personal assets (your house, your car etc) from being used to satisfy a lawsuit brought against you by anyone who sues you; it will NOT protect ...


9

Download a copy of SQLite and start going through the code. That should give you a very decent grounding in the fundamental concepts of DBMS design. The SQLite author has extensive notes on his website about how SQLite was designed, and the database engine is small enough that you should be able to wrap your mind around it. http://www.sqlite.org/ ...


9

What type of jobs or industry can allow someone with only a bachelors degree to do virtually unhindered creative research and development? This is subjective, so I'm mainly looking for opinions and RL accounts. This kind of job doesn't exist, unless you own your on company. The only way to get into anything near this kind of work is with a PhD ...


8

Prototype, Prototype, Prototype!! If your team is not familiar with a particular framework then prototype something in it to evaluate where the pain points are. Matt Raible (Java Web framework comparator guy) suggests working with a framework for one week if possible. Prototyping includes investigating the community support behind a framework and other ...


8

You want a public-private key infrastructure From your question you seem to be looking at a public-private key infrastructure (PKI). The ID your client sends is their public key and is totally free to view by anyone. Your servers encrypt the data using a combination of your private key and their public key. This encrypted payload is then sent back to the ...


8

My computer science professors at Boise State University believe I should write a paper and take my idea as far as I can. Copy the question you have written on this site into an email to the professors that advised you to write a paper on your idea. They will have input far more applicable and much more reliable than anything you'll get here. Anyone ...



Only top voted, non community-wiki answers of a minimum length are eligible