Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. The Lounge
  3. No one teaches PROGRAMMING any more

No one teaches PROGRAMMING any more

Scheduled Pinned Locked Moved The Lounge
155 Posts 78 Posters 1 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • R Ray Cassick

    They all teach application development, but not programming. When I started out you could not get anywhere near a computer until you could count in binary, octal and hex and knew enough to run a small program on paper. Ah, where are those days again....


    FFRF[^]


    G Offline
    G Offline
    GoodSyntax
    wrote on last edited by
    #63

    Having risen through the college system and through the corporate ranks here are some observations: Colleges are not focusing on the fundamentals of programming, namely Systems Analysis, Workflow Logic, Structured Programming, the Low Level details of WHAT the code is ACTUALLY doing and finally the Human/Computer interaction basics (such as good UI design). I have seen a shift away from the detailed understanding of programming to a more high level practical understanding of the Framework/IDE that they are trying to teach. It seems this industry is trying to turn everyone into programmers by dumbing down the prerequisites and wrapping everything up in a shiny IDE that does a lot of the heavy lifting. This, ultimately, leads to lazy programmers who don't have the solid computer science and logical concepts to grasp what their code is doing at a low level. Unfortunately, we are creating a generation of script kiddies that can't code outside of an IDE that provides most of the programming structure/objects for them. For those who went through the Computer Science tracks during the 80's, I'm sure that you will agree that instructors were engaging in the same level of learning and discovery as the students. This led to a more inquisitive environment that made graduates more well rounded at both a conceptual and practical level. Many modern colleges have turned into maketing companies that tout courses in whatever the hottest platform of the day is (RUBY, .NET, etc.) and eschewing fundamental courses such as COBOL (don't laugh, even though it is an ancient platform, it is a great class for structured programming concepts), and C/C++ and even the more general Networking (TCP/IP) and Systems Analysis courses. Another observation, and this is more of a cultural phenomenon is that young developers today simply are not as driven to put in the hours to learn the details of their profession. Granted, I am broad brushing and there are A LOT of great programmers that recently graduated, but this Millenium Generation needs instant gratification and suprisingly lacks the dedication to their profession that previous generations had. Programmers from yester-year were enginneers first, always trying to make things better, to understand fully what was going on, to provide real value with the software that they created. Newer programmers are in the field because it pays well, has a high degree of job security and is relatively easy. Finally, and I mentioned this before, today there is a flood of IDE's, 3rd party c

    K D 2 Replies Last reply
    0
    • C Christian Graus

      Someone the other day posted their VB assignment ( in university ). It was 'name your 10 favourite properties of VB.NET controls and why you like them. The OP was asking 'what's a property' and 'what's a control property'. I think CS is dead, I am considering changing careers.

      Christian Graus Please read this if you don't understand the answer I've given you "also I don't think "TranslateOneToTwoBillion OneHundredAndFortySevenMillion FourHundredAndEightyThreeThousand SixHundredAndFortySeven()" is a very good choice for a function name" - SpacixOne ( offering help to someone who really needed it ) ( spaces added for the benefit of people running at < 1280x1024 )

      P Offline
      P Offline
      Pierre Leclercq
      wrote on last edited by
      #64

      Christian Graus wrote:

      I am considering changing careers

      why that? If there is a lack of people who can do the job, then you are welcome to do it right. No?

      U 1 Reply Last reply
      0
      • R Ray Cassick

        They all teach application development, but not programming. When I started out you could not get anywhere near a computer until you could count in binary, octal and hex and knew enough to run a small program on paper. Ah, where are those days again....


        FFRF[^]


        B Offline
        B Offline
        bit_cmdr
        wrote on last edited by
        #65

        Let me start by saying I absolutly agree. A lot of posters have stated that there has been a shift away from fundamentals and more towards the IDE again this is sadly true. When I was in college myself, the last half of my senior year the university decided to stop using C++ as the core language for CS and use Java. There isn't much significance there except that the reason behind it was to try and teach with a 'more popular' language. (Don't get mad at me for calling Java more popular, at the time it was a rising star over C++ in the industry) The problem there is that now you have access to built in libraries that honestly, while you're learning, you should be building yourself. To someone trying to learn programming it does them no good to call a library and use a pre-built Linked-List or Stack, once universities start going down that road they lose the ability to truely teach what those data structures actually are and what they do. One thing that I firmly believe each student should have exposure to is assembly code. Even one course makes all the difference, it is the most basic and fundamental code and what everything revolves around. Even a basic understanding of machine language through assembly code allows for a much broader knowledge of what's actually happening when someone runs: string greeting = "hello world"; I started in grade school with Logo. Go ahead and mock Logo, it's not really a language but it teaches very basic programming to young children. The next time I had a class was in high school and it was Turbo Pascal and beleive it or not, we had to have the program working on paper and be able to count in binary before we were allowed near a computer. (Which was probably a good thing since once I got in front of one I made a fake dos shell that would start by displaying a command prompt and then pretend to format the primary network drive then it would say file not found or command not recognized for everything else afterwards. Scared the piss out of the instructor, he didn't like me very much after that.) All that said and all of what everyone else has said, it's a good valid point. Not many places actually teach programming anymore. Here's a question for everyone, as programmers, what should we do about it?

        - Arcond

        1 Reply Last reply
        0
        • J JPaula

          1. Yes. You are missing a lot of information that would enable you to code better, be more productive, deliver a better and less buggy product. 2. There is no gain in turning off Intellisense. Who has to know a million instructions from the top of the head? Working with Java or .Net is not the same as working with an 80 instructions language from 20 years ago. What you need is basic understanding of how a computer works and what goes on behind the "magic" of high level languages. You need to understand binary math in order to understand what is behind a conditional instruction in your current language. You need to understand what a pointer is, so you know what is going on when you pass a parameter by reference or by value or what happens when you do a "a=b".

          D Offline
          D Offline
          dfl
          wrote on last edited by
          #66

          (warning: mild flame) As a programmer, I feel uncomfortable reading such a holistic reply. I do *feel*, like you, that it is important to understand the fundamentals of the machine and the relationship between high level functions and low level actions. However, just stating this feeling does not constitute a reply. Many people feel that there was something special and "profound" in their particular upbringing. However, very often this is an illusion. My fortran teacher, back in the late 80's, told me that programming in an IDE was not the real deal and did not give you a true sense of what you were writing. However, he was actually talking about himself. Every generation feels that the subsequent one is shallow and lacking some profound understanding of the world. This is no more than a psychological phenomenon. To explain why an understanding of a digital computer, pointers, interrupts, signals etc. helps programming, you need to give concrete examples.

          E J 2 Replies Last reply
          0
          • R Rahul Ravindran

            Being from India as well and undergoing my college course (1st year), I completely understand and agree with cpp.samurai. I think you are overestimating C++ in India. Forget "new" and "delete", my teacher barely understands what pointers are which naturally spills over to the students as well. In my opinion, I find programmers in US, UK, etc are vastly superior. Obviously, I am judging by the people *I* meet which happen to be teenagers. I just don't find that kind of spirit here. Out of the 60 students in my class for my course ("Computer Science and Engineering"), the rest 59 can barely do a "Hello World". The problem lies in the root. Ask anyone in my class, they chose Computer Science simply because thats where the demand is not because they actually like the subject. I doubt outsourcing has any effect on programming worldwide. Its more of customer support, etc thats being outsourced, monotonous work. I don't think you can apply the same sort of teaching pattern for other subjects to programming. Ironic actually, you spent more time writing code in your book than a computer. I do agree, a certain amount of theory is required for programming as well but the usual grinding and mugging up can never be applied to coding. Sadly, it happens. Most of the students in my class can write basic programs but when it comes to pointers and stuff, they actually byheart the code and the examinations don't ask any questions beyond your textbook. I just don't get it, how can anyone just memorize a program. "There is no teaching, only learning." Programming is the best example for the quote :)

            E Offline
            E Offline
            elibriscoe
            wrote on last edited by
            #67

            I work with a girl from India who has a BS in CS and is pursuing a master's. The only language she knows is vbscript, and even that she can barely use and never writes a program. She's here in the US working as a QA. Unbelievable. I know the problem is just there either. I can honestly think of about 3 people in my CS program who deserved to graduate, but of course everyone graduates.

            1 Reply Last reply
            0
            • D dfl

              (warning: mild flame) As a programmer, I feel uncomfortable reading such a holistic reply. I do *feel*, like you, that it is important to understand the fundamentals of the machine and the relationship between high level functions and low level actions. However, just stating this feeling does not constitute a reply. Many people feel that there was something special and "profound" in their particular upbringing. However, very often this is an illusion. My fortran teacher, back in the late 80's, told me that programming in an IDE was not the real deal and did not give you a true sense of what you were writing. However, he was actually talking about himself. Every generation feels that the subsequent one is shallow and lacking some profound understanding of the world. This is no more than a psychological phenomenon. To explain why an understanding of a digital computer, pointers, interrupts, signals etc. helps programming, you need to give concrete examples.

              E Offline
              E Offline
              elibriscoe
              wrote on last edited by
              #68

              The bottom line that many people won't like is this: There is a limited number of people who can be great programmers ever born. To a certain extent you can learn it, but only if you already have a natural talent to program will you be great. Some people will NEVER be great programmers, no matter what. Sorry. If you have the right talent and drive, you will take it on yourself to learn what you need to be excellent. Also, we will always need people who can write compilers and program at the lowest level. The fact that you aren't writing firmware doesn't necessarily mean you aren't a programmer. We need people who can program in very high level languages, and not everyone has to be a programming superstar. I don't feel bad about my career because of other crappy programmers. In fact, it makes it easier for us good programmers to stand out and advance.

              W 1 Reply Last reply
              0
              • R Ray Cassick

                They all teach application development, but not programming. When I started out you could not get anywhere near a computer until you could count in binary, octal and hex and knew enough to run a small program on paper. Ah, where are those days again....


                FFRF[^]


                T Offline
                T Offline
                todds6776
                wrote on last edited by
                #69

                I recently graduated from a university which has a Computer Science program in the top 7. Many CS programs have changed, but this isn't a bad thing. Students are still taught the low level details (I had to design hardware and design parts of CPU's, write assembly language programs, write a compiler), but the focus is no longer on these trivial details. The problems facing software engineers in the future are not the issues of managing pointers, having a command on the bits of a word etc. The real challenges will be things like writing programs to run accross many CPU's, mathematical optimization of algorithms, and security concerns. I work with many "real programmers" that were trained between 10 and 20 years ago, and the coding style is simply outdated. I think the real problem is that people are called "programmers" or "software engieers" who go to tech schools or attend small programs where the schooling involves much less rigor. To compare this to the medical world, if a person goes to a tech school and is trained to be a medical technician, they should not be expected to perform as a nurse or doctor.

                1 Reply Last reply
                0
                • Steve EcholsS Steve Echols

                  I blame .net, intellisense and languages that make it easy for people to think they know what they're doing. I've seen a lot of drag n drop kiddies in the U.S. as well. :) But, yeah, outsourcing hasn't helped the situation out much.


                  - S 50 cups of coffee and you know it's on!

                  J Offline
                  J Offline
                  julio debroy
                  wrote on last edited by
                  #70

                  Agree and do not agree. If you know what you are doing it boosts your productivity. If you do not, intellisense popups can either help you learn or can make you lose time. Beginners of course, could benefit of code completion to get them running. I started back in '80 with assembler for 6501 and TRS-80 basic.Then gw-basic, At college we used turbo pascal which evolved to turbo vision and then delphi. Yes, hand coding was great for training, but in real world you can really take advantage of the time you save by using those tools. Using delphi I can do a great sql app in hours. Yes, a simple data form in a couple of minutes. When time is money AND you know what you are doing, modern tech addons like intellisense have a great value. Back to the root topic, here in Guatemala at IT faculties in main universities, all programming training is hard, and I can tell even at high school level there are many schools that train very well for coding, from html to C++, java, pascal, you name it. Of course visual programming is there as well.

                  1 Reply Last reply
                  0
                  • C Chris Austin

                    Christian Graus wrote:

                    I think CS is dead

                    I don't think it's dead, just endangered. Good lord, I hate interviewing people these days. I had one guy get incredulous with me when I asked him how he'd implement a simple b-tree. I think we have lowered to bar way too much.

                    A human being should be able to change a diaper, plan an invasion, butcher a hog, conn a ship, design a building, write a sonnet, balance accounts, build a wall, set a bone, comfort the dying, take orders, give orders, cooperate, act alone, solve equations, analyze a new problem, pitch manure, program a computer, cook a tasty meal, fight efficiently, die gallantly. Specialization is for insects. - -Lazarus Long

                    D Offline
                    D Offline
                    dfl
                    wrote on last edited by
                    #71

                    People don't roll out their string concatenators either, not to mention frame pointer managers. Programming is about solving problems with a given set of tools. If modern tools encapsulate data structures and provide you with optimized hash tables, why should you know what a hash function is? Such knowledge may be a good *social* indicator, that the guy/gal you're talking to is well read and geeky enough, but does this really influence the quality of the code? Tools keep getting better, libraries are richer and more spoiling every year, but the basic skill of analyzing a problem and stating it in terms that match the tools at hand, has not changed.

                    C 1 Reply Last reply
                    0
                    • D dfl

                      (warning: mild flame) As a programmer, I feel uncomfortable reading such a holistic reply. I do *feel*, like you, that it is important to understand the fundamentals of the machine and the relationship between high level functions and low level actions. However, just stating this feeling does not constitute a reply. Many people feel that there was something special and "profound" in their particular upbringing. However, very often this is an illusion. My fortran teacher, back in the late 80's, told me that programming in an IDE was not the real deal and did not give you a true sense of what you were writing. However, he was actually talking about himself. Every generation feels that the subsequent one is shallow and lacking some profound understanding of the world. This is no more than a psychological phenomenon. To explain why an understanding of a digital computer, pointers, interrupts, signals etc. helps programming, you need to give concrete examples.

                      J Offline
                      J Offline
                      JPaula
                      wrote on last edited by
                      #72

                      My response is in no way holistic. Its my feeling - as I am in a user forum, I am not writing a scientific article. I think it is no hidden secret that knowing what goes on behind the scenes enables you to design better solutions, be more innovative and make less errors - in general. This applies to any field of knowledge - from mechanics to cooking - and I think it applies to programming. I do not relate to any timeframe as "those were the days". I am not in favor of any low level language. In fact, my favorite programming language is Visual Basic - it's a different programming paradigm (at leats it was, before .Net). Real world examples is what you can observe everyday. People taking the wrong approach because they lack the basis for a good, informed, decision. I guess this is not an illusion. Anyway, I think you totally misunderstood my response to westicle. I was writing a response from the point of view of someone that never took a course in programming and is totaly self taught. I told him what I think is the basic for any programmer: basic boolean logic, knowing what is going on in the computer mainboard for a program to run. You can get this basic knowledge in hours and save years of bad practices. Furthermore, I told him that turning off the IDE features is just crazy because we are not in the 80's and we need intellisense - we have millions of instructions we use/need.

                      1 Reply Last reply
                      0
                      • Steve EcholsS Steve Echols

                        I blame .net, intellisense and languages that make it easy for people to think they know what they're doing. I've seen a lot of drag n drop kiddies in the U.S. as well. :) But, yeah, outsourcing hasn't helped the situation out much.


                        - S 50 cups of coffee and you know it's on!

                        D Offline
                        D Offline
                        David I Hunt
                        wrote on last edited by
                        #73

                        .NET and Java are definitely the problem, though ignorance is the cause of it. People go to "easy" languages for two reasons. 1) They are stupid. 2) The Pointy-Haired Boss is stupid and forced them to use "easy" language. There are some people who are just lazy, but IMHO, laziness is a form of ignorance. Bjarne Stroustrup saw this problem appearing a while ago and is focusing his efforts on trying to get schools to actually teach programming again. For anyone reading this who wants to learn to code well... start with x86/64 assembly any work up from there.

                        I have nothing against VB or .NET per se. It just seems that some languages attract one echelon of programmers, and other languages attract a much higher echelon of programmers. :P

                        D C 2 Replies Last reply
                        0
                        • R Ray Cassick

                          They all teach application development, but not programming. When I started out you could not get anywhere near a computer until you could count in binary, octal and hex and knew enough to run a small program on paper. Ah, where are those days again....


                          FFRF[^]


                          E Offline
                          E Offline
                          el delo
                          wrote on last edited by
                          #74

                          I agree. And it's not just programming, it's basic skills. During my last few contracts at M$, I would have been rich if I had a nickel for every time I had to help some "highly qualified" person with setting up their computer, putting it on the corpnet, teaching them how source control works, helping them with batch scripts and Perl scripts and balky build systems, helping them with bug and work item tracking SW, helping them with facilities and office reqs (even though the interal sites are right there for them to use), helping them with Office apps and their email clients, etc ad nauseum. Or high-brow SW engineers who don't know how to setup delegates/events/callbacks/etc (take your pick of languages and less common features), etc. They know all the tricks that get hit in the interview loops and they are solid SW engineers in the more abstract academic sense, but get lost in the production environment and when asked to do all those mundane and arcane things that their high-brow schools and profs see as being below their dignity. And while I wasn't involved in nor did I directly observe this at M$, at several other firms I watched mid-to-large scale development projects with lots of potential get run into the ground because overseas outsourced engineering kept delivering exactly what their legal staff told them they had to deliver: Mostly solid (in terms of functionality) but often hackish or unmaintainable etc code that was written to a months or years old spec (because that's what they were given) rather than what they were asked for. And overseas qa outsourcing that delivered huge volumes of bugs that amounted to spelling/typo/grammatical errors in text, trivial misalignment of controls on forms, all manner of nits and easy pickings and so on, while the truly nasty shipstoppers were left to be discovered by the ever-dwindling stateside dev and qa staff - who were being brow-beat the whole time because they weren't "...finding and fixing all the bugs..." like the overseas staff were. For better or worse outsourcing and globalization are here, but unless and until the overseas outsourcing houses and the people who work there start to see themselves as team players and start to "get it" about being part of the overall solution and not just people who write code (or do testing) to specs and so on, it's going to be a potentially negative thing.

                          1 Reply Last reply
                          0
                          • D dfl

                            People don't roll out their string concatenators either, not to mention frame pointer managers. Programming is about solving problems with a given set of tools. If modern tools encapsulate data structures and provide you with optimized hash tables, why should you know what a hash function is? Such knowledge may be a good *social* indicator, that the guy/gal you're talking to is well read and geeky enough, but does this really influence the quality of the code? Tools keep getting better, libraries are richer and more spoiling every year, but the basic skill of analyzing a problem and stating it in terms that match the tools at hand, has not changed.

                            C Offline
                            C Offline
                            Chris Austin
                            wrote on last edited by
                            #75

                            dfl wrote:

                            not to mention frame pointer managers.

                            Actually, we have rolled our own frame buffer because we needed a better implementation then a generic one.

                            dfl wrote:

                            If modern tools encapsulate data structures and provide you with optimized hash tables, why should you know what a hash function is?

                            This is why our industry is in such a poor state and most software sucks. Programmers have happily become users. If a programmers doesn't know what something as simple as a hash function is, how can I trust them to know when and how to use a hash table, does he or she even understand the costs and benefits of using a hash table versus some other data structure? This is basic stuff.

                            A human being should be able to change a diaper, plan an invasion, butcher a hog, conn a ship, design a building, write a sonnet, balance accounts, build a wall, set a bone, comfort the dying, take orders, give orders, cooperate, act alone, solve equations, analyze a new problem, pitch manure, program a computer, cook a tasty meal, fight efficiently, die gallantly. Specialization is for insects. - -Lazarus Long

                            1 Reply Last reply
                            0
                            • G GoodSyntax

                              Having risen through the college system and through the corporate ranks here are some observations: Colleges are not focusing on the fundamentals of programming, namely Systems Analysis, Workflow Logic, Structured Programming, the Low Level details of WHAT the code is ACTUALLY doing and finally the Human/Computer interaction basics (such as good UI design). I have seen a shift away from the detailed understanding of programming to a more high level practical understanding of the Framework/IDE that they are trying to teach. It seems this industry is trying to turn everyone into programmers by dumbing down the prerequisites and wrapping everything up in a shiny IDE that does a lot of the heavy lifting. This, ultimately, leads to lazy programmers who don't have the solid computer science and logical concepts to grasp what their code is doing at a low level. Unfortunately, we are creating a generation of script kiddies that can't code outside of an IDE that provides most of the programming structure/objects for them. For those who went through the Computer Science tracks during the 80's, I'm sure that you will agree that instructors were engaging in the same level of learning and discovery as the students. This led to a more inquisitive environment that made graduates more well rounded at both a conceptual and practical level. Many modern colleges have turned into maketing companies that tout courses in whatever the hottest platform of the day is (RUBY, .NET, etc.) and eschewing fundamental courses such as COBOL (don't laugh, even though it is an ancient platform, it is a great class for structured programming concepts), and C/C++ and even the more general Networking (TCP/IP) and Systems Analysis courses. Another observation, and this is more of a cultural phenomenon is that young developers today simply are not as driven to put in the hours to learn the details of their profession. Granted, I am broad brushing and there are A LOT of great programmers that recently graduated, but this Millenium Generation needs instant gratification and suprisingly lacks the dedication to their profession that previous generations had. Programmers from yester-year were enginneers first, always trying to make things better, to understand fully what was going on, to provide real value with the software that they created. Newer programmers are in the field because it pays well, has a high degree of job security and is relatively easy. Finally, and I mentioned this before, today there is a flood of IDE's, 3rd party c

                              K Offline
                              K Offline
                              keyboard warrior
                              wrote on last edited by
                              #76

                              GoodSyntax wrote:

                              this Millenium Generation needs instant gratification and suprisingly lacks the dedication to their profession that previous generations had.

                              oh yes, we can just sum this up with how awesome the generation was before the Millenium generation as you call it. that explains it all. everyone is just lazy and useless now and the world will probably self-destruct when whatever prior generations have all died away and can't save the Millenium.

                              ----------------------------------------------------------- Completion Deadline: two days before the day after tomorrow

                              G 1 Reply Last reply
                              0
                              • G GoodSyntax

                                Having risen through the college system and through the corporate ranks here are some observations: Colleges are not focusing on the fundamentals of programming, namely Systems Analysis, Workflow Logic, Structured Programming, the Low Level details of WHAT the code is ACTUALLY doing and finally the Human/Computer interaction basics (such as good UI design). I have seen a shift away from the detailed understanding of programming to a more high level practical understanding of the Framework/IDE that they are trying to teach. It seems this industry is trying to turn everyone into programmers by dumbing down the prerequisites and wrapping everything up in a shiny IDE that does a lot of the heavy lifting. This, ultimately, leads to lazy programmers who don't have the solid computer science and logical concepts to grasp what their code is doing at a low level. Unfortunately, we are creating a generation of script kiddies that can't code outside of an IDE that provides most of the programming structure/objects for them. For those who went through the Computer Science tracks during the 80's, I'm sure that you will agree that instructors were engaging in the same level of learning and discovery as the students. This led to a more inquisitive environment that made graduates more well rounded at both a conceptual and practical level. Many modern colleges have turned into maketing companies that tout courses in whatever the hottest platform of the day is (RUBY, .NET, etc.) and eschewing fundamental courses such as COBOL (don't laugh, even though it is an ancient platform, it is a great class for structured programming concepts), and C/C++ and even the more general Networking (TCP/IP) and Systems Analysis courses. Another observation, and this is more of a cultural phenomenon is that young developers today simply are not as driven to put in the hours to learn the details of their profession. Granted, I am broad brushing and there are A LOT of great programmers that recently graduated, but this Millenium Generation needs instant gratification and suprisingly lacks the dedication to their profession that previous generations had. Programmers from yester-year were enginneers first, always trying to make things better, to understand fully what was going on, to provide real value with the software that they created. Newer programmers are in the field because it pays well, has a high degree of job security and is relatively easy. Finally, and I mentioned this before, today there is a flood of IDE's, 3rd party c

                                D Offline
                                D Offline
                                Dan Neely
                                wrote on last edited by
                                #77

                                GoodSyntax wrote:

                                but this Millenium Generation needs instant gratification and suprisingly lacks the dedication to their profession that previous generations had.

                                And exactly how is this accusation different that what was tarred against GenY and GenX in years prior (and probably earlier generations as well, but since they predate my birth...)?

                                You know, every time I tried to win a bar-bet about being able to count to 1000 using my fingers I always got punched out when I reached 4.... -- El Corazon

                                G 1 Reply Last reply
                                0
                                • R Ray Cassick

                                  They all teach application development, but not programming. When I started out you could not get anywhere near a computer until you could count in binary, octal and hex and knew enough to run a small program on paper. Ah, where are those days again....


                                  FFRF[^]


                                  L Offline
                                  L Offline
                                  lbothell
                                  wrote on last edited by
                                  #78

                                  I absolutely hate to agree with you, but I have to. I was SO excited about a year ago to return to school to learn to be a web programmer (to build on web design skills and lots of interest). I was ready to take on all the classes, learn, program, etc. But! Many of the classes kept being canceled. There was no real overview of the whole field, and even intros into basic stuff like XML were canned. No PHP, no Perl, no QBasic, no C#. The tools needed to do basic stuff like learn SQL Server didn't work or the school's IT folks brilliantly decided to replace or dismantle servers the first week of the quarter. But worst of all, I came to realize after 4 quarters of 4.0 grades that there had been no series of really basic programming classes. There was one, with a really good instructor, but one was not nearly enough and most of the basics - well, let's just say I am having to find a way to teach myself. I was getting "A's" in ASP.Net without having basic programming background, and it was showing (to me) in how much I struggled in what seemed like basic assignments where the VS2005/2008 Intellisense and error messages intruded on basic work without providing any help but hindering me from doing simple stuff - all because, it turned out, I didn't have a grasp of most basic programming skills. A shiny new certificate - that means very little. Back to the drawing board for me. Here's hoping there's at least enough front-end work to keep me employed while I learn more on my own. . . DOES anyone here have a suggestion of 1-2 basic sites/tutorials (or series) that go over the programming BASICS with little assignments/examples, etc.? Thanks!!! :cool:

                                  _________________________________________________ Have a great day!!! -- L.J.

                                  K J 2 Replies Last reply
                                  0
                                  • W westicle

                                    I'm one of those people that has a development job (vb.net) and has not been taught programming. I got my job from working as a finance/payroll admin where I built a system to manage my companies Flex benefits using VBA and spreadsheets. I tought myself the VBA. I was moved into the development team (5 peeps) and sent on a course for people upgrading from asp to asp.net (!?!?!??!?!?). What's asp I asked. I've been doing this for 2 years now. I rely heavily on intellisense but no dragging and dropping. I tend to learn from asking colleagues, friends, reading books and google. I am well aware that there are some fundamental pieces of the puzzle that I am missing but I can build apps that achieve what they are supposed to do. If I had to go through the interview process for my job now I do not believe I would get it. The purpose of my post is two-fold 1. Does it matter that I am missing some coding fundamentals since I can build working applications? (don't get me wrong, I'm not kidding myself about my abilities) 2. Where and how do I learn these fundamentals? Should I turn off intellisense as a start? Do you all use intellisense?

                                    Westie

                                    C Offline
                                    C Offline
                                    cpkilekofp
                                    wrote on last edited by
                                    #79

                                    It is a mathematical fact that, for any given coding problem in any given language, there are an infinite number of solutions to the problem. One attempts to find a solution that as close as possible to the optimal solution (which, for some problems, may only be approximated). Computer science is the study of computing problems and of how to find optimal solutions. I am a M.S.C.S., and my course work and independent study placed me in a variety of programming environments solving difficult problems using general knowledge and specific instruction from my professors. The most difficult parts to grasp were how to look at the problem and decide, "Is this problem in a form I recognize, so that I don't have to scurry here and there slapping a solution together like a house of straw or twigs, but build it confidently in brick?" Only a computer scientist can teach this. Thankfully, many of them write excellent books. I can not recommend to you highly enough that you first study the trilogy of texts entitled The Art of Programming written by Donald Knuth. I think they are in their second or third edition now. To true programmers, Knuth is the gold standard: if you can solve half the problems and make an intelligent assault on the rest, you are a real programmer. I can. I also use Intellisense ALL the time, fewer errors that way for one who lost count of the number of languages both compiled and interpreted that he learned by 1997 (on bad days I type == in VB code, from my earlier heritage of C/C++ programming addled by extensive Javascript work recently). I don't expect to memorize every programming environment I deal with; I do expect (and usually find) excellent support via the WWW for finding specific techniques for dealing with environmentally dependent problems. It is risible to think that one must shun these tools, as if a Renaissance monk disdained printed books and all who used them because he with his "house of memory" didn't need written notes - it's a nice talent, but the rest of us can match the product of that talent with a notebook and readable handwriting at speed. I do study ALGORITHMS and DATA STRUCTURES and the tradeoffs with various implementations of these. You can do this by buying the books and reading them. Good luck :)

                                    K 1 Reply Last reply
                                    0
                                    • Steve EcholsS Steve Echols

                                      I blame .net, intellisense and languages that make it easy for people to think they know what they're doing. I've seen a lot of drag n drop kiddies in the U.S. as well. :) But, yeah, outsourcing hasn't helped the situation out much.


                                      - S 50 cups of coffee and you know it's on!

                                      A Offline
                                      A Offline
                                      Azad Giordano Ratzki
                                      wrote on last edited by
                                      #80

                                      Sound like you really know what your talking about...Steve-o... .NET is a great development framework. Programming languages do make it easy for people to think they know what they're doing...do you write your programs in assembly...oh wait that would still be a language. As for intellisense, it doesn't do anything except act as a reference for your code and any other classes you are working with, how does that substitute the actual use of those classes, methods, fields etc...? C++ is great so is C++ w/ .NET and so is C# and Java.

                                      Steve EcholsS 1 Reply Last reply
                                      0
                                      • C cpkilekofp

                                        It is a mathematical fact that, for any given coding problem in any given language, there are an infinite number of solutions to the problem. One attempts to find a solution that as close as possible to the optimal solution (which, for some problems, may only be approximated). Computer science is the study of computing problems and of how to find optimal solutions. I am a M.S.C.S., and my course work and independent study placed me in a variety of programming environments solving difficult problems using general knowledge and specific instruction from my professors. The most difficult parts to grasp were how to look at the problem and decide, "Is this problem in a form I recognize, so that I don't have to scurry here and there slapping a solution together like a house of straw or twigs, but build it confidently in brick?" Only a computer scientist can teach this. Thankfully, many of them write excellent books. I can not recommend to you highly enough that you first study the trilogy of texts entitled The Art of Programming written by Donald Knuth. I think they are in their second or third edition now. To true programmers, Knuth is the gold standard: if you can solve half the problems and make an intelligent assault on the rest, you are a real programmer. I can. I also use Intellisense ALL the time, fewer errors that way for one who lost count of the number of languages both compiled and interpreted that he learned by 1997 (on bad days I type == in VB code, from my earlier heritage of C/C++ programming addled by extensive Javascript work recently). I don't expect to memorize every programming environment I deal with; I do expect (and usually find) excellent support via the WWW for finding specific techniques for dealing with environmentally dependent problems. It is risible to think that one must shun these tools, as if a Renaissance monk disdained printed books and all who used them because he with his "house of memory" didn't need written notes - it's a nice talent, but the rest of us can match the product of that talent with a notebook and readable handwriting at speed. I do study ALGORITHMS and DATA STRUCTURES and the tradeoffs with various implementations of these. You can do this by buying the books and reading them. Good luck :)

                                        K Offline
                                        K Offline
                                        keyboard warrior
                                        wrote on last edited by
                                        #81

                                        cpkilekofp wrote:

                                        Only a computer scientist can teach this.

                                        this of course is just wonderful rhetoric from the many professors over the years im sure. chest thumping Computer Science faculty.

                                        ----------------------------------------------------------- Completion Deadline: two days before the day after tomorrow

                                        C 1 Reply Last reply
                                        0
                                        • L lbothell

                                          I absolutely hate to agree with you, but I have to. I was SO excited about a year ago to return to school to learn to be a web programmer (to build on web design skills and lots of interest). I was ready to take on all the classes, learn, program, etc. But! Many of the classes kept being canceled. There was no real overview of the whole field, and even intros into basic stuff like XML were canned. No PHP, no Perl, no QBasic, no C#. The tools needed to do basic stuff like learn SQL Server didn't work or the school's IT folks brilliantly decided to replace or dismantle servers the first week of the quarter. But worst of all, I came to realize after 4 quarters of 4.0 grades that there had been no series of really basic programming classes. There was one, with a really good instructor, but one was not nearly enough and most of the basics - well, let's just say I am having to find a way to teach myself. I was getting "A's" in ASP.Net without having basic programming background, and it was showing (to me) in how much I struggled in what seemed like basic assignments where the VS2005/2008 Intellisense and error messages intruded on basic work without providing any help but hindering me from doing simple stuff - all because, it turned out, I didn't have a grasp of most basic programming skills. A shiny new certificate - that means very little. Back to the drawing board for me. Here's hoping there's at least enough front-end work to keep me employed while I learn more on my own. . . DOES anyone here have a suggestion of 1-2 basic sites/tutorials (or series) that go over the programming BASICS with little assignments/examples, etc.? Thanks!!! :cool:

                                          _________________________________________________ Have a great day!!! -- L.J.

                                          K Offline
                                          K Offline
                                          keyboard warrior
                                          wrote on last edited by
                                          #82

                                          lbothell wrote:

                                          Many of the classes kept being canceled. There was no real overview of the whole field, and even intros into basic stuff like XML were canned. No PHP, no Perl, no QBasic, no C#. The tools needed to do basic stuff like learn SQL Server didn't work or the school's IT folks brilliantly decided to replace or dismantle servers the first week of the quarter.

                                          so in other words, you picked a crappy school to get a degree titled "web programming" ?

                                          ----------------------------------------------------------- Completion Deadline: two days before the day after tomorrow

                                          1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular
                                          • World
                                          • Users
                                          • Groups