That way they wouldn't have to struggle with conceptually hard topics, and employers would get a better idea of a person's skills. Why study IT if you don't like wrestling with algorithms, installing software, configuration etc ? Why pretend to be a techie ?
As Computer Coding Classes Swell, So Does Cheating
291–300 of 303 posts
Re: As Computer Coding Classes Swell, So Does Cheating
#292Earlier quoted context omitted.
I don't see this as such a problem. For instance, calculus, linear algebra, differential equations, numerical analysis, and so forth, are only a small part of what makes a good actuary. But they have a formal exam that you need to pass in these areas in order to be an actuary. They don't quiz new candidates with 10+ years experience on integration by parts during a job interview. Because we lack even a basic exam in…
That's a very fair argument. I still think there'd be far too much contention over just what is to be included in the corpus of essential knowledge. Everyone seems to agree that data structures, algorithms and systems fundamentals seem appealing, but just which ones depends greatly on whether you're doing embedded PLCs for fuel injectors or whether you're doing React. I've been programming since I was 9, for most of…
No - it shouldn't. I feel that you should want to know this level and more about the internals (and history) of computers. I'm biased in that has been a driver for me personally...
...but to give you a hint:
A CPU (in the most basic sense) is nothing more than a very fast and very complex player piano, regulated by a clock. At each "tick" of that clock a row of "holes" (bits) representing a variety of information (address, data, instruction) is presented to the CPU. These bits are actually voltage levels. The CPU uses these voltage levels to change the state of logic gates in the system (which are wired for a variety of different tasks - but you only need one particular kind of gate to make any others - a NAND or NOR), which determine what happens, what to do next, etc.
I won't go further - and let me be clear that what I wrote above is nowhere near complete, and only describes the most basic level of an "ideal" CPU (or ALU or whatever) - because in the real world, you have things like voltage transients, timing issues (signals not arriving at the same times - hence things like wait states and such), noise, plus things like triggering on rising or falling edges of clock signals, multiple clocks staggered in time (for multiple triggerings per "cycle"), and a whole host of other things.
Yeah - it's pretty complex. But at the heart of it, it is pretty simple - a player piano, more or less, with a music reel spinning at mind-boggling speeds. If you need or want more information, there are (like everything else) plenty of resources on the internet about how all this stuff works. Check out some of the sites on people who have built computers from relays or logic gates; they typically have a lot of good information about the lower level stuff. Also look into some of the old books on building computers, and how they work (I'm talking the practical computing books from the 1950s and 1960s - difficult to find at times, check on used books online, in stores, plus on google books and archive.org; also, old back issues of Byte Magazine from the 70s and 80s are a good resource).
Re: As Computer Coding Classes Swell, So Does Cheating
#293There was a person in my CS class where we built a virtual computer using Python. Almost weekly I saw her cheating, yet during her spare time she devoted that saved time to a side project that won her an award and some publicity.
Starting from then I've learned to focus less on the grade and more on actual projects that are challenging enough that I have to learn.
Re: As Computer Coding Classes Swell, So Does Cheating
#294Earlier quoted context omitted.
I really do not understand how so many people manage to fool almost everyone for so long. To me, it's quite simple. Lack of teaching the fundamentals of programming. CS programs want to teach object orientation in first year CS. How can you understand object orientation and complex data structures until you've learned what a pointer or structure is (C code, yeah)? How can you understand a pointer unless you have a ba…
How can you understand object orientation and complex data structures until you've learned what a pointer or structure is (C code, yeah)? Speaking as someone who has spent considerable time in front of first-year college CS classes, attended SIGCSE conferences, and applied this in practice: trivially. Your "pointers-first" bias has long, long been debunked. Brown, Stanford, VT, and other CS departments have had fanta…
Design skills can be only learned through experience. Understanding what abstraction to apply is something you would learn after many "failed surgeries". You can only learn this on the job and by reading a lot of code.
Writing efficient software is impossible without understanding machine. Without knowing how things are represented in memory or how compilers/OS works you will never write good software. You will end people that do not understand how event loop in node.js work or write thread safe Java.
Just ask few practical question about Promises, Heap, GC, Threads and you will see blank faces from the same people that just white-boarded DFS.
Re: As Computer Coding Classes Swell, So Does Cheating
#295Earlier quoted context omitted.
This is exactly it, in my opinion. It's much easier to catch cheating by running homework code through something like MOSS than relying on a human TA to catch that 2 handwritten math assignments are exactly alike. I TAed both CS and Math classes at a large state school and once caught ~20% of a 50 person math class on a homework assignment because they had all copied a mis-labeled problem from the solutions manual. I…
At my uni you had to have all electronic devices in your bag under your desk and have all supporting materials displayed on your desk before the exam. There were floor walkers who would go up and down the aisles constantly throughout the exam looking for signs of cheating. If you were caught you were expelled. A neighbouring uni even gave students lockers and didn't permit bringing anything into their exams. Exam che…
Lockers seems like a good way to prevent it, although phones are still easily hidden in a jacket pocket so you'd have to ban bulky clothing too.
Re: As Computer Coding Classes Swell, So Does Cheating
#296Earlier quoted context omitted.
quite often the plan in the mind of these folks is that they will try to fake their way through and be moved up into project management Wait a minute, are you saying all I have to do to be promoted to Project Management is to code really badly? Hmm. I wonder if C# has GOTOs...
Even better! It has exceptions! You can write code that deliberately throws an exception where the handler calls a function. It's more like come-froms than GOTOs. Please don't do this.
Don't hate the player, hate the game.
Re: As Computer Coding Classes Swell, So Does Cheating
#297Earlier quoted context omitted.
quite often the plan in the mind of these folks is that they will try to fake their way through and be moved up into project management Wait a minute, are you saying all I have to do to be promoted to Project Management is to code really badly? Hmm. I wonder if C# has GOTOs...
>Hmm. I wonder if C# has GOTOs... Why yes, yes it does. You can also alphabetically sort a list of 30 things by adding those things to a list line-by-line, sorting them in alphabetical order yourself.
I see you've worked in enterprise too!
Re: As Computer Coding Classes Swell, So Does Cheating
#298Earlier quoted context omitted.
Would you be alarmed if you found out your doctor had entirely cheated their way through medical school and knew very little medicine? Great, you figured out that grades aren't a perfect metric. But so what? Grades don't prove a student is great, but they can eliminate a lot of students that are bad. If the bad students just cheat their way through, everyone else down the line suffers for it.
Is it cheating for a professional software developer to use Stack Overflow? If they copy and paste, perhaps, but not if they use it to get a better understanding of something. It's very difficult to grade understanding. Doctors go through a lot to graduate. Universities are welcome to put all students through the same level of scrutiny, working closely with a professional who can decide if they are unfit for the cour…
Re: As Computer Coding Classes Swell, So Does Cheating
#299I've been a TA for a couple CS classes at Iowa State University. Cheating here at least is pretty rampant. I would guess 1/3 or more of the students cheat in some capacity. Some of it is really easy to detect too. For a first semester freshman class, I tried using MinHash to cluster student submissions together. Maybe 10% of the assignment have near duplicate pieces of code. More comprehensive methods like MOSS (Meas…
Re: As Computer Coding Classes Swell, So Does Cheating
#300Earlier quoted context omitted.
Everyone does code review or whiteboards now in industry at least - it's not as if you're offered a residency or job after you get a degree unless it's a pretty good degree with some actual interviewing.
I have never written code at an interview, in nearly 30 years.