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. Learning Programming

Learning Programming

Scheduled Pinned Locked Moved The Lounge
csharpdatabasedotnetvisual-studiocom
35 Posts 20 Posters 0 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.
  • A AspDotNetDev

    Kevin Marois wrote:

    This is a one session lession

    I think that's what threw me off. Strange you would mention a single-day (assuming session means uninterrupted time period) activity and then other activities which may take years.

    [WikiLeaks Cablegate Cables]

    K Offline
    K Offline
    Kevin Marois
    wrote on last edited by
    #15

    No, I meant that you could do a brief overview of VS2010 and the .Net framework in one sitting. As I said in my post, I taught for a college for a while, and this was one of those topics that we breezed right through, because you're going to get immeresed in them by nature of learning and working in them. At this point, it's more of a starting point.

    Everything makes sense in someone's mind

    1 Reply Last reply
    0
    • B Bassam Saoud

      Totally agree, Its an awesome place to live/visit. I live in Thornton.

      J Offline
      J Offline
      Johnny J
      wrote on last edited by
      #16

      Right next door. I'm envious. I lived for a short while in Boulder, and if I should ever go to live anywhere in the States again, that would definitely be where I would want to be.

      1f y0u c4n r34d 7h15 y0u r3411y n33d 70 g37 14!d Gotta run; I've got people to do and things to see... Don't tell my folks I'm a computer programmer - They think I'm a piano player in a cat house... Da mihi sis crustum Etruscum cum omnibus in eo!

      1 Reply Last reply
      0
      • K Kevin Marois

        Not sure if this is appropriate here. If not, feel free to move it. Since I spent considerable time teaching C# full time, I have been asked to help with mentoring here at work. We have someone at work with no programming experience who wants to get into C# programming. One objective would be to have the student actually build a working app tailored to what we do here at the office. Since there's not an established program or course, what would be the recommended path he should take? My suggstion would be: 1) Intro To Visual Studio - Show the basics of VS. Keep it simple. Just the major parts. Overview of Solutons and Projects. Explain the various project types. This is a one session lession. 2) Introduction to the .Net Framework. 3) C# Programming I. Basics of programming. Maybe something like this: http://www.csharp-station.com/Tutorial.aspx[^]. This would provice the basic building blocks of C# programming. 3) Intro to SQL. Databases, tables misc DB objects. Stored procs. Transact SQL. 4) C# Programming II. - ADO.Net - Linq To SQL - Interfaces - Threading - Reflection - Interop - Intro WPF - Intro WCF - Intro Silverlight - Intro ASP.Net 5) Courses specific to WPF, WCF, Silverlight, or ASP.Net I'm open to suggestion. Thanks

        Everything makes sense in someone's mind

        J Offline
        J Offline
        Johnny J
        wrote on last edited by
        #17

        Don't forget: No matter what you decide todo, they will definitely need books to study and consult as handbooks for their work/assignments...

        1f y0u c4n r34d 7h15 y0u r3411y n33d 70 g37 14!d Gotta run; I've got people to do and things to see... Don't tell my folks I'm a computer programmer - They think I'm a piano player in a cat house... Da mihi sis crustum Etruscum cum omnibus in eo!

        1 Reply Last reply
        0
        • C Christian Graus

          I think it's a huge mistake to teach people SQL and ADO.NET before they have a good experience and understanding of C#, including winforms or WPF, whichever they will use. You don't see many SQL programs that are not GUI based.

          Christian Graus Driven to the arms of OSX by Vista. Read my blog to find out how I've worked around bugs in Microsoft tools and frameworks.

          P Offline
          P Offline
          PIEBALDconsult
          wrote on last edited by
          #18

          Christian Graus wrote:

          You don't see many SQL programs that are not GUI based.

          I see very few that are. But that's just me. I would definitely want to be sure that the student doesn't put data access in the UI layer.

          C 1 Reply Last reply
          0
          • K Kevin Marois

            Not sure if this is appropriate here. If not, feel free to move it. Since I spent considerable time teaching C# full time, I have been asked to help with mentoring here at work. We have someone at work with no programming experience who wants to get into C# programming. One objective would be to have the student actually build a working app tailored to what we do here at the office. Since there's not an established program or course, what would be the recommended path he should take? My suggstion would be: 1) Intro To Visual Studio - Show the basics of VS. Keep it simple. Just the major parts. Overview of Solutons and Projects. Explain the various project types. This is a one session lession. 2) Introduction to the .Net Framework. 3) C# Programming I. Basics of programming. Maybe something like this: http://www.csharp-station.com/Tutorial.aspx[^]. This would provice the basic building blocks of C# programming. 3) Intro to SQL. Databases, tables misc DB objects. Stored procs. Transact SQL. 4) C# Programming II. - ADO.Net - Linq To SQL - Interfaces - Threading - Reflection - Interop - Intro WPF - Intro WCF - Intro Silverlight - Intro ASP.Net 5) Courses specific to WPF, WCF, Silverlight, or ASP.Net I'm open to suggestion. Thanks

            Everything makes sense in someone's mind

            P Offline
            P Offline
            PIEBALDconsult
            wrote on last edited by
            #19

            Kevin Marois wrote:

            tailored to what we do here at the office

            Do you really need another version of MineSweeper?

            J 1 Reply Last reply
            0
            • P PIEBALDconsult

              Kevin Marois wrote:

              tailored to what we do here at the office

              Do you really need another version of MineSweeper?

              J Offline
              J Offline
              Johnny J
              wrote on last edited by
              #20

              Don't be so judgmental - not everybody spends their entire time playing minesweeper! ....There's also Hearts and Freecell!

              1f y0u c4n r34d 7h15 y0u r3411y n33d 70 g37 14!d Gotta run; I've got people to do and things to see... Don't tell my folks I'm a computer programmer - They think I'm a piano player in a cat house... Da mihi sis crustum Etruscum cum omnibus in eo!

              1 Reply Last reply
              0
              • P PIEBALDconsult

                Christian Graus wrote:

                You don't see many SQL programs that are not GUI based.

                I see very few that are. But that's just me. I would definitely want to be sure that the student doesn't put data access in the UI layer.

                C Offline
                C Offline
                Christian Graus
                wrote on last edited by
                #21

                Well, you're dreaming. Seperation of concerns is a long way down the track from a basic course. Read the programming forums sometime.

                Christian Graus Driven to the arms of OSX by Vista. Read my blog to find out how I've worked around bugs in Microsoft tools and frameworks.

                P 1 Reply Last reply
                0
                • K Kevin Marois

                  Not sure if this is appropriate here. If not, feel free to move it. Since I spent considerable time teaching C# full time, I have been asked to help with mentoring here at work. We have someone at work with no programming experience who wants to get into C# programming. One objective would be to have the student actually build a working app tailored to what we do here at the office. Since there's not an established program or course, what would be the recommended path he should take? My suggstion would be: 1) Intro To Visual Studio - Show the basics of VS. Keep it simple. Just the major parts. Overview of Solutons and Projects. Explain the various project types. This is a one session lession. 2) Introduction to the .Net Framework. 3) C# Programming I. Basics of programming. Maybe something like this: http://www.csharp-station.com/Tutorial.aspx[^]. This would provice the basic building blocks of C# programming. 3) Intro to SQL. Databases, tables misc DB objects. Stored procs. Transact SQL. 4) C# Programming II. - ADO.Net - Linq To SQL - Interfaces - Threading - Reflection - Interop - Intro WPF - Intro WCF - Intro Silverlight - Intro ASP.Net 5) Courses specific to WPF, WCF, Silverlight, or ASP.Net I'm open to suggestion. Thanks

                  Everything makes sense in someone's mind

                  R Offline
                  R Offline
                  Roger Wright
                  wrote on last edited by
                  #22

                  Step 3 to 4 is much too large! Your student needs to master a significant portion of the .Net Framework before tackling SQL Server in any form. I speak from experience! I would greatly fill out the students' knowledge of the controls available and best practices for using them before ever addressing databases. In fact, SQL Server should be a separate class, with C# Programming I as a prerequisite. The rest you can add as individual advanced classes, or lump them together into an advanced techniques overview course. You can't properly teach any of them except as a focused course on each technology, though they needn't be as long as the first two courses.

                  Will Rogers never met me.

                  1 Reply Last reply
                  0
                  • C Christian Graus

                    Well, you're dreaming. Seperation of concerns is a long way down the track from a basic course. Read the programming forums sometime.

                    Christian Graus Driven to the arms of OSX by Vista. Read my blog to find out how I've worked around bugs in Microsoft tools and frameworks.

                    P Offline
                    P Offline
                    PIEBALDconsult
                    wrote on last edited by
                    #23

                    Hence the desire to move it up.

                    1 Reply Last reply
                    0
                    • J Johnny J

                      In my opinion you have a wide gorge between step 3 and 4. You might want to start out by deciding if those technologies are really necessary for the task in hand. I.e: Reflection, threading, WPF, WCF. Are they necessary? It's commendable that you want to teach the people all that, but if they're complete novices, what they really need is a grasp of basic C#, and then get some experience over time in that before they move on to these more advanced technologies. Throwing too much at people from the start can get them to give up... Just my opinion, no critscism. I think your project is very worth while...

                      1f y0u c4n r34d 7h15 y0u r3411y n33d 70 g37 14!d Gotta run; I've got people to do and things to see... Don't tell my folks I'm a computer programmer - They think I'm a piano player in a cat house... Da mihi sis crustum Etruscum cum omnibus in eo!

                      A Offline
                      A Offline
                      Andy Brummer
                      wrote on last edited by
                      #24

                      Johnny J. wrote:

                      Throwing too much at people from the start can get them to give up...

                      Or even worse, think that everything has to be build with reflection, threading and WCF. *shudder*

                      Curvature of the Mind

                      1 Reply Last reply
                      0
                      • K Kevin Marois

                        Not sure if this is appropriate here. If not, feel free to move it. Since I spent considerable time teaching C# full time, I have been asked to help with mentoring here at work. We have someone at work with no programming experience who wants to get into C# programming. One objective would be to have the student actually build a working app tailored to what we do here at the office. Since there's not an established program or course, what would be the recommended path he should take? My suggstion would be: 1) Intro To Visual Studio - Show the basics of VS. Keep it simple. Just the major parts. Overview of Solutons and Projects. Explain the various project types. This is a one session lession. 2) Introduction to the .Net Framework. 3) C# Programming I. Basics of programming. Maybe something like this: http://www.csharp-station.com/Tutorial.aspx[^]. This would provice the basic building blocks of C# programming. 3) Intro to SQL. Databases, tables misc DB objects. Stored procs. Transact SQL. 4) C# Programming II. - ADO.Net - Linq To SQL - Interfaces - Threading - Reflection - Interop - Intro WPF - Intro WCF - Intro Silverlight - Intro ASP.Net 5) Courses specific to WPF, WCF, Silverlight, or ASP.Net I'm open to suggestion. Thanks

                        Everything makes sense in someone's mind

                        A Offline
                        A Offline
                        Andy Brummer
                        wrote on last edited by
                        #25

                        One of the things missing in .net is something like Rails that puts intro projects and real world projects together. Without something simple that just kind of works like that, databases are very hard to grasp. It would be nice if .net had more of that kind of thing easily available. My intro to computing was print statements and then drawing lines and circles etc. in basic way back when, so my experience probably doesn't apply to this all that much. :-D

                        Curvature of the Mind

                        1 Reply Last reply
                        0
                        • K Kevin Marois

                          Not sure if this is appropriate here. If not, feel free to move it. Since I spent considerable time teaching C# full time, I have been asked to help with mentoring here at work. We have someone at work with no programming experience who wants to get into C# programming. One objective would be to have the student actually build a working app tailored to what we do here at the office. Since there's not an established program or course, what would be the recommended path he should take? My suggstion would be: 1) Intro To Visual Studio - Show the basics of VS. Keep it simple. Just the major parts. Overview of Solutons and Projects. Explain the various project types. This is a one session lession. 2) Introduction to the .Net Framework. 3) C# Programming I. Basics of programming. Maybe something like this: http://www.csharp-station.com/Tutorial.aspx[^]. This would provice the basic building blocks of C# programming. 3) Intro to SQL. Databases, tables misc DB objects. Stored procs. Transact SQL. 4) C# Programming II. - ADO.Net - Linq To SQL - Interfaces - Threading - Reflection - Interop - Intro WPF - Intro WCF - Intro Silverlight - Intro ASP.Net 5) Courses specific to WPF, WCF, Silverlight, or ASP.Net I'm open to suggestion. Thanks

                          Everything makes sense in someone's mind

                          L Offline
                          L Offline
                          leppie
                          wrote on last edited by
                          #26

                          Just how many years do you have to do this per student? If 6 months or less, I would limit it to the first 3. I would cover C# first before diving into .NET. C# as a language is not that hard to grasp. The .NET framework OTOH, that can take many years to master.

                          ((λ (x) `(,x ',x)) '(λ (x) `(,x ',x)))

                          1 Reply Last reply
                          0
                          • K Kevin Marois

                            Not sure if this is appropriate here. If not, feel free to move it. Since I spent considerable time teaching C# full time, I have been asked to help with mentoring here at work. We have someone at work with no programming experience who wants to get into C# programming. One objective would be to have the student actually build a working app tailored to what we do here at the office. Since there's not an established program or course, what would be the recommended path he should take? My suggstion would be: 1) Intro To Visual Studio - Show the basics of VS. Keep it simple. Just the major parts. Overview of Solutons and Projects. Explain the various project types. This is a one session lession. 2) Introduction to the .Net Framework. 3) C# Programming I. Basics of programming. Maybe something like this: http://www.csharp-station.com/Tutorial.aspx[^]. This would provice the basic building blocks of C# programming. 3) Intro to SQL. Databases, tables misc DB objects. Stored procs. Transact SQL. 4) C# Programming II. - ADO.Net - Linq To SQL - Interfaces - Threading - Reflection - Interop - Intro WPF - Intro WCF - Intro Silverlight - Intro ASP.Net 5) Courses specific to WPF, WCF, Silverlight, or ASP.Net I'm open to suggestion. Thanks

                            Everything makes sense in someone's mind

                            B Offline
                            B Offline
                            BrainiacV
                            wrote on last edited by
                            #27

                            You failed to throw in the kitchen sink :) Aside from "no programming experience", what does this person know? I've had to teach people who couldn't navigate Windows, so it would be nice to know a little more before I can competently critique. I've always gone for "This is a variable" followed by "These are control structures". But then again I'm an old fogey who doesn't quite trust drag and drop programming. I like to know what's going on under the hood and clue the student into the fact that's its not just magic. When things fail, you need to know why and how to fix them. I stress "get five lines of code to work before you try fifty." So early introduction to debugging and single stepping is essential. But again, I don't know the level of competency in your student. Good luck, Mr Phelps

                            Psychosis at 10 Film at 11

                            1 Reply Last reply
                            0
                            • K Kevin Marois

                              Not sure if this is appropriate here. If not, feel free to move it. Since I spent considerable time teaching C# full time, I have been asked to help with mentoring here at work. We have someone at work with no programming experience who wants to get into C# programming. One objective would be to have the student actually build a working app tailored to what we do here at the office. Since there's not an established program or course, what would be the recommended path he should take? My suggstion would be: 1) Intro To Visual Studio - Show the basics of VS. Keep it simple. Just the major parts. Overview of Solutons and Projects. Explain the various project types. This is a one session lession. 2) Introduction to the .Net Framework. 3) C# Programming I. Basics of programming. Maybe something like this: http://www.csharp-station.com/Tutorial.aspx[^]. This would provice the basic building blocks of C# programming. 3) Intro to SQL. Databases, tables misc DB objects. Stored procs. Transact SQL. 4) C# Programming II. - ADO.Net - Linq To SQL - Interfaces - Threading - Reflection - Interop - Intro WPF - Intro WCF - Intro Silverlight - Intro ASP.Net 5) Courses specific to WPF, WCF, Silverlight, or ASP.Net I'm open to suggestion. Thanks

                              Everything makes sense in someone's mind

                              A Offline
                              A Offline
                              Al42
                              wrote on last edited by
                              #28

                              I agree with those who said, in essence, "to teach programming, you first teach programming". I think Wirth[^] is a good first step. Teaching a GUI, or a language, isn't giving them what they need to write code - which, after all is said and done, is necessary.

                              1 Reply Last reply
                              0
                              • K Kevin Marois

                                Not sure if this is appropriate here. If not, feel free to move it. Since I spent considerable time teaching C# full time, I have been asked to help with mentoring here at work. We have someone at work with no programming experience who wants to get into C# programming. One objective would be to have the student actually build a working app tailored to what we do here at the office. Since there's not an established program or course, what would be the recommended path he should take? My suggstion would be: 1) Intro To Visual Studio - Show the basics of VS. Keep it simple. Just the major parts. Overview of Solutons and Projects. Explain the various project types. This is a one session lession. 2) Introduction to the .Net Framework. 3) C# Programming I. Basics of programming. Maybe something like this: http://www.csharp-station.com/Tutorial.aspx[^]. This would provice the basic building blocks of C# programming. 3) Intro to SQL. Databases, tables misc DB objects. Stored procs. Transact SQL. 4) C# Programming II. - ADO.Net - Linq To SQL - Interfaces - Threading - Reflection - Interop - Intro WPF - Intro WCF - Intro Silverlight - Intro ASP.Net 5) Courses specific to WPF, WCF, Silverlight, or ASP.Net I'm open to suggestion. Thanks

                                Everything makes sense in someone's mind

                                B Offline
                                B Offline
                                Bruce Patin
                                wrote on last edited by
                                #29

                                I have spent 20+ years teaching programming. Exactly how you attack this depends on your use of technologies. First of all, make sure that whatever the student learns can be quickly and immediately useful in some way and therefore fun. This is absolutely essential to retaining the material and driving curiosity. Second, do you mostly do web applications or Windows forms applications or simply database work? Which gives the student more of a chance to actually use it for something useful to them? For web apps, go straight to simple HTML pages. Visual Studio is optional at this point. The student can make his own web pages and learn how to style them. This will be enormously useful in the future, when trying to understand and get around ASPX limitations or developing MVC apps. Once the student knows simple HTML, he/she can start learning programming with a bit at a time of Javascript on the side. For databases, I would recommend (shudder) starting with Microsoft Access, or some other platform that is available to the student, as a learning tool. Access also gives the student the ability to make some simple forms. Not only will this give the student a platform to immediately make something useful, but introduce concepts that are needed for everything else, even though the student will have to unlearn a few things afterward. If you don't use Access, but the student has access to databases that are useful, a reporting tool, such as Microsoft SQL Reporting Services, or whatever your company uses, would be a good place to start. For Windows Forms apps, you will probably need to combine that with a simple introduction to either file or database manipulation, in order to make sure that something useful to the student can be quickly constructed. Unless you have already started with databases, I would recommend file manipulation first, as being simpler to introduce. Once you have done the above, or if you do not do Windows Forms apps, you can get into developing C# web applications, using as simple code as you can get away with while still having the objective of doing something useful.

                                1 Reply Last reply
                                0
                                • K Kevin Marois

                                  Not sure if this is appropriate here. If not, feel free to move it. Since I spent considerable time teaching C# full time, I have been asked to help with mentoring here at work. We have someone at work with no programming experience who wants to get into C# programming. One objective would be to have the student actually build a working app tailored to what we do here at the office. Since there's not an established program or course, what would be the recommended path he should take? My suggstion would be: 1) Intro To Visual Studio - Show the basics of VS. Keep it simple. Just the major parts. Overview of Solutons and Projects. Explain the various project types. This is a one session lession. 2) Introduction to the .Net Framework. 3) C# Programming I. Basics of programming. Maybe something like this: http://www.csharp-station.com/Tutorial.aspx[^]. This would provice the basic building blocks of C# programming. 3) Intro to SQL. Databases, tables misc DB objects. Stored procs. Transact SQL. 4) C# Programming II. - ADO.Net - Linq To SQL - Interfaces - Threading - Reflection - Interop - Intro WPF - Intro WCF - Intro Silverlight - Intro ASP.Net 5) Courses specific to WPF, WCF, Silverlight, or ASP.Net I'm open to suggestion. Thanks

                                  Everything makes sense in someone's mind

                                  D Offline
                                  D Offline
                                  David Lario
                                  wrote on last edited by
                                  #30

                                  With my company I been pushing for all my guys who have basic computer experience to start using it as a tool to make their life more efficient. I think one of the best tools for the introduction to programming VBA. Yes I know its not considered as a true programming language, but it has some good merits. 1. Free. It is included in most if not all Microsoft software and some others. Its a good way to actually see if you are interested in programming but not have to shell out the cash to find out. 2. Record Macro - You know what you want but not sure how to start programming it. Press the record button the program will attempt to record your steps in a program type fashion. Making macros is pretty much the fastest way to program something without having vast programming skills and get immediate results which is important for beginning programmers. 3. Tons of information and good examples on the internet. (That pretty much goes for anything now-a-days) 4. Making the transition to Visual Studio or Databasing (through Access) is not such a big step. 5. The editor/debugging is actually not that bad. Dave

                                  1 Reply Last reply
                                  0
                                  • K Kevin Marois

                                    Not sure if this is appropriate here. If not, feel free to move it. Since I spent considerable time teaching C# full time, I have been asked to help with mentoring here at work. We have someone at work with no programming experience who wants to get into C# programming. One objective would be to have the student actually build a working app tailored to what we do here at the office. Since there's not an established program or course, what would be the recommended path he should take? My suggstion would be: 1) Intro To Visual Studio - Show the basics of VS. Keep it simple. Just the major parts. Overview of Solutons and Projects. Explain the various project types. This is a one session lession. 2) Introduction to the .Net Framework. 3) C# Programming I. Basics of programming. Maybe something like this: http://www.csharp-station.com/Tutorial.aspx[^]. This would provice the basic building blocks of C# programming. 3) Intro to SQL. Databases, tables misc DB objects. Stored procs. Transact SQL. 4) C# Programming II. - ADO.Net - Linq To SQL - Interfaces - Threading - Reflection - Interop - Intro WPF - Intro WCF - Intro Silverlight - Intro ASP.Net 5) Courses specific to WPF, WCF, Silverlight, or ASP.Net I'm open to suggestion. Thanks

                                    Everything makes sense in someone's mind

                                    P Offline
                                    P Offline
                                    patbob
                                    wrote on last edited by
                                    #31

                                    you need to teach them basic programming concepts before you get into framework/library, OOP and other various programming technologies. Think variables, variable assignment, if statements, loops and then move on to advanced (!) topics like functionsand function parameters. Real world apps make terrible basic programming assignments because of all the distracting stuff you have put in there. Error checking, well designed code, UI design, etc. At least, that's what I learned back when I used to teach beginning programming to non-programmers years ago.

                                    patbob

                                    1 Reply Last reply
                                    0
                                    • J Johnny J

                                      In my opinion you have a wide gorge between step 3 and 4. You might want to start out by deciding if those technologies are really necessary for the task in hand. I.e: Reflection, threading, WPF, WCF. Are they necessary? It's commendable that you want to teach the people all that, but if they're complete novices, what they really need is a grasp of basic C#, and then get some experience over time in that before they move on to these more advanced technologies. Throwing too much at people from the start can get them to give up... Just my opinion, no critscism. I think your project is very worth while...

                                      1f y0u c4n r34d 7h15 y0u r3411y n33d 70 g37 14!d Gotta run; I've got people to do and things to see... Don't tell my folks I'm a computer programmer - They think I'm a piano player in a cat house... Da mihi sis crustum Etruscum cum omnibus in eo!

                                      E Offline
                                      E Offline
                                      ely_bob
                                      wrote on last edited by
                                      #32

                                      I think you should be careful with the "threading" option.. it's not something that get used very frequently outside of Lind, or delegates.. the System.Threading namespace would probably be out of scope.

                                      I'd blame it on the Brain farts.. But let's be honest, it really is more like a Methane factory between my ears some days then it is anything else...
                                      -----
                                      "The conversations he was having with himself were becoming ominous."-.. On the radio...

                                      1 Reply Last reply
                                      0
                                      • K Kevin Marois

                                        Not sure if this is appropriate here. If not, feel free to move it. Since I spent considerable time teaching C# full time, I have been asked to help with mentoring here at work. We have someone at work with no programming experience who wants to get into C# programming. One objective would be to have the student actually build a working app tailored to what we do here at the office. Since there's not an established program or course, what would be the recommended path he should take? My suggstion would be: 1) Intro To Visual Studio - Show the basics of VS. Keep it simple. Just the major parts. Overview of Solutons and Projects. Explain the various project types. This is a one session lession. 2) Introduction to the .Net Framework. 3) C# Programming I. Basics of programming. Maybe something like this: http://www.csharp-station.com/Tutorial.aspx[^]. This would provice the basic building blocks of C# programming. 3) Intro to SQL. Databases, tables misc DB objects. Stored procs. Transact SQL. 4) C# Programming II. - ADO.Net - Linq To SQL - Interfaces - Threading - Reflection - Interop - Intro WPF - Intro WCF - Intro Silverlight - Intro ASP.Net 5) Courses specific to WPF, WCF, Silverlight, or ASP.Net I'm open to suggestion. Thanks

                                        Everything makes sense in someone's mind

                                        S Offline
                                        S Offline
                                        Stonkie
                                        wrote on last edited by
                                        #33

                                        I think you need to make it goal oriented... Something like this : 1. Create a console application that prints its first command line argument. (the basics) 2. Make it print all of them and print a warning if no argument are passed. (flow control) 3. Make it parse all arguments as int and sum them. (use variables, understanding types int/string) 4. Make it take the first argument as a mathematical expression, split by operators (+ and -) and apply them. (advanced work with data) 5. Declare an interface Expression that define a GetResult and a class for Number, Addition and Subtraction, then build an execution tree to get to the same result. (basic OO) 6. Make it work using Polish notation instead. (refactoring) 7. Implement Division and Multiplication with correct operation priority. (exploring OO) 8. Create a Windows forms UI for a calculator with a text box where the user can type an equation. (forms) 9. Parse this equation for parenthesis and operation priority and reformat it as Polish notation. (advanced data manipulation) 10. Pass this equation to the command line application previously developed and show the output. (how to look for functionalities in the framework and MS documentation) 11. Integrate the calculation code into the forms application as a separate project, add the dependency and make it work. (multiple projects, dependencies and refactoring) 12. Create a database in SQL Express and add a database for logging previous calculations with input and output. (database design) 13. Use a typed dataset or entities or whatever technology you want him familiar with to add one row to the table everytime a user presses "calculate". (simple inserts) 14. Use the database as a cache to bypass the calculator and retrieve the answer from the database if the calculation was requested previously. (simple queries and refactoring) 15. And from then on, he's ready to start fixing small issues or developing small chunks of functionality in your actual applications, either in pair programming or with constructive code review. The rest is experience! Btw, did you know about this? http://tryhaskell.org/[^]

                                        1 Reply Last reply
                                        0
                                        • K Kevin Marois

                                          Not sure if this is appropriate here. If not, feel free to move it. Since I spent considerable time teaching C# full time, I have been asked to help with mentoring here at work. We have someone at work with no programming experience who wants to get into C# programming. One objective would be to have the student actually build a working app tailored to what we do here at the office. Since there's not an established program or course, what would be the recommended path he should take? My suggstion would be: 1) Intro To Visual Studio - Show the basics of VS. Keep it simple. Just the major parts. Overview of Solutons and Projects. Explain the various project types. This is a one session lession. 2) Introduction to the .Net Framework. 3) C# Programming I. Basics of programming. Maybe something like this: http://www.csharp-station.com/Tutorial.aspx[^]. This would provice the basic building blocks of C# programming. 3) Intro to SQL. Databases, tables misc DB objects. Stored procs. Transact SQL. 4) C# Programming II. - ADO.Net - Linq To SQL - Interfaces - Threading - Reflection - Interop - Intro WPF - Intro WCF - Intro Silverlight - Intro ASP.Net 5) Courses specific to WPF, WCF, Silverlight, or ASP.Net I'm open to suggestion. Thanks

                                          Everything makes sense in someone's mind

                                          S Offline
                                          S Offline
                                          Spectre_001
                                          wrote on last edited by
                                          #34

                                          Part 1 is a good beginning. For Part 2 check out Rob Miles CSharp Yellow Book - a free PDF - Good coverage of the basics of programming in C#. You might also check out another free PDF book by Charles Perzold - DotNetBookZero. Very good, comprehensive coverage of C# programming, but it's a bit more advanced (geared towards C and C++ developers making the move to C#). If you pull from both, you should have all of the material you need to do a beginning and intermediate course in C# programming. Intro to SQL seems fine for Part 3. Part 4 - I believe I would make the Threading and Reflection intro level and save the advanced specifics for Part 5. Threading in particular is very difficult (even for advanced programmers) to do well. Keep everything in part 4 at the intro level. All you want to do here is give a basic understanding of all the options available. I would also consider adding intros for SDLC (Software Development life Cycle) and TDD (Test Driven Development). Part 5 - These should be individual advanced courses delving into all of the things you have an intro to in Part 4. You might also want to have available advanced courses in Software Design and "Best Practices". I would not have the student(s) work on anything I intend to use in a production environment until they are well into the courses for Part 5. Until then they will have no (or at best little) concept of good software design or programming best practices. At the very advanced level, you might want to make available cources in ORM (Object Relational Mappers, NHibernate and FluentNHibernate come to mind as a very mature ones), Object Databases - Perhaps Versant's db40, and frameworks such as the Spring.NET Framework and Microsoft's MVC Framework.

                                          Kevin Rucker, Application Programmer QSS Group, Inc. United States Coast Guard OSC Kevin.D.Rucker@uscg.mil "Programming is an art form that fights back." -- Chad Hower

                                          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