Thread: A new site for beginners

  1. #1
    Registered User
    Join Date
    Jan 2014
    Posts
    5

    A new site for beginners

    C Programming Lessons

    A new site for beginners. In soon, the project and all lessons will be completed!

    For our Youtube channel:

    https://www.youtube.com/user/cprogramminglessons

  2. #2
    misoturbutc Hodor's Avatar
    Join Date
    Nov 2013
    Posts
    1,787
    You do not believe in indentation?

  3. #3
    - - - - - - - - oogabooga's Avatar
    Join Date
    Jan 2008
    Posts
    2,808
    That's too fancy for me.
    Any beginners reading this, I suggest a good book.
    The cost of software maintenance increases with the square of the programmer's creativity. - Robert D. Bliss

  4. #4
    - - - - - - - - oogabooga's Avatar
    Join Date
    Jan 2008
    Posts
    2,808
    Apparently not written by someone whose first language is English.
    The cost of software maintenance increases with the square of the programmer's creativity. - Robert D. Bliss

  5. #5
    Registered User
    Join Date
    Jan 2014
    Posts
    5
    The site is not completed. These 4 lessons are just prototypes that how we'll show the lessons in slide view.

    The content will grow and the lessons will be longer.

  6. #6
    misoturbutc Hodor's Avatar
    Join Date
    Nov 2013
    Posts
    1,787
    Quote Originally Posted by clessons View Post
    The site is not completed. These 4 lessons are just prototypes that how we'll show the lessons in slide view.

    The content will grow and the lessons will be longer.
    You may want to adopt a consistent indentation style. Some of your examples use no style at all (everything is flushed to the left), some use what looks vaguely like GNU-Style and some use what I think might be Whitesmiths (but I'm not sure). It's pretty annoying to be honest.

  7. #7
    Registered User
    Join Date
    Jan 2014
    Posts
    5
    Thank you for your kind advices Hodor. If I should be honest, I'm here for take some advices about the content and style of the site. As You see the site is not completed. I'm just trying to see people's reactions and ideas about the site. I just try to create new type of e-learning. As You know all e-learning sites just worry about the content. Yeah, They are so good about this matter but I want to create a site which have good content with modern style. I hope when the site finished, It becomes.

  8. #8
    misoturbutc Hodor's Avatar
    Join Date
    Nov 2013
    Posts
    1,787
    @clessons: to make things easier, perhaps a tool like AStyle would be beneficial. Using a tool like this means you can ensure -- for example by writing a script/batch file -- that all your examples are consistent. Rarely you may still have to hand edit the examples after running AStyle but it's much more efficient than going through every example and reformatting them manually.

  9. #9
    Registered User
    Join Date
    Jan 2014
    Posts
    5
    I'll look at it Hodor.

    What are you thinking about the video lectores on Youtube?

  10. #10
    Registered User
    Join Date
    Nov 2010
    Location
    Long Beach, CA
    Posts
    5,909
    I realize this is harsh, and I have very few positives in my comments. I'm not trying to be mean, just give my honest opinion. Many times, people come by asking for input on their "C tutorial" sites. I think this may be some sort of school project or something. Sufice to say, these sites are usually quite horrible teaching tools, and unfortunately, your site falls into this category. I would recommend a lot more intense study of C, and lots more real-world programming experience with C, before you try to teach.

    Regardless of whether the site is "under construction", I don't think you should be putting up a website to teach beginners. You do not appear to be qualified to teach C. The content is a long, long way from actually being useful.

    On the technical/knowldege-of-C side, you (I use "you" for simplicity -- I realize that there may be other contributors as well) seem to be at an intermediate level at best. Even if teaching beginners, a fairly advanced level of the subject is typical. You are also severely lacking in accurate, technical vocabulary. You are teaching people incorrect information. This has several negative effects: confusing the beginners when they see contradictory information elsewhere; filling the world with bad programmers, who don't know what they are doing; making our jobs on this forum more difficult as we try to "un-teach" all the wrong things you taught people.

    On the pedagogical side, you expect the students to learn almost everything from just examples with little or no explanation. You are not clear, accurate, or even correct with your examples. Sometimes you discuss inconsequential stuff, while ignoring the important things. You lack consistency which will definitely confuse beginners: "why did he indent these lines and not those?" Your lessons seem poorly organized/thought out/planned.

    A more thorough list of issues I have with your site (why I even spent this much time, I don't know). Some of this has already been pointed out, so treat the repeated things as a "+1" from me. Starting with general things

    • Too fancy. Information is best conveyed in a clear, simple manner. The fancy stuff just distracts and gets in the way when you're trying to absorb information.
    • The slides do not contain much information and transitions are annoying. You can only see small amounts of each lesson at a time, and it's hard to jump back and forth more than one or two slides. Slides like that are good as support to a lecture, but do not work well on their own. Your non-video versions of the lesson should not be slides, and should have lots of words explaining things in detail.
    • All your code should be properly and consistently indented. Your output samples should preserve space. For example, in lesson 1, you have printf("C\n Programming\n Lessons\n Dot\n Com"); but your output does not show the leading space that would precede the words on lines 2-4. I'm glad you have syntax highlighting, but the color scheme differs between lessons, which I personally find annoying (and possibly confusing to beginners).
    • English is not your first language. That is okay, but you should consider having a native speaker, with in-depth technical knowledge edit your lessons for grammar, spelling, "does it make sense", technical accuracy, etc. Or make this in your native language.
    • Consider an into or "getting started" lesson/page that gives brief overview of what programming is, the fact that they will need a compiler, etc. This site seems directed at beginners, so help them get started. Just some links to the Codeblocks or DevC websites might be good. Absolutely DO NOT SUGGEST TURBO C!
    • Consider using comments in the code to explain critical lines. But before you do that, you must explain what a comment is, how to use them, and why to use them.
    • You need links to previous lesson, next lesson and "lessons page"

    Now for more specific issues (the number at the beginning of each item is the lesson number)


    • 1: Your description of #include makes little to no sense
    • 1: return is probably not the main part of any function
    • 1: "\n" is not an operator, it's an escape sequence. Technically, with the double quotes, it's a string literal containing a new line.
    • 1: Your description of main on the summary slide doesn't make sense.
    • 1: You mention the return keyword, but never use it in your program. Be a good boy (or girl) and put a return 0; at the end of every main function, in all lessons.
    • 2: Your should explain format specifiers before you use them in code: why you need them, what they are, etc.
    • 2: & is not a "referring term" (that doesn't really make sense). It's the address of operator
    • 2: Summary page again needs editing.
    • 3: Explain what control statements are for, conditional expressions, etc.
    • 3: I wouldn't call them "type 1" and "type 2". They're not exactly different types. Instead, explain the purpose of the { } and explain what else does, and what a sequence of if-else if does.
    • 3: Your first example wont even compile.
    • 3: You don't explain the % operator, which most beginners wont understand. They will expect some sort of percentage operation, but you later say it's an odd-even thing. Pick something more intuitive like == or < or >.
    • 3: "program returns the numbers type" is incorrect. A more accurate description would be "The program prints whether the number is odd or even". But that is moot, since you wont be using the confusing (for beginners) % operator (modulo).
    • 3: I would think the [ ] in your first "switch and case" slide would be confusing to a beginner.
    • 3: Your switch and case example also wont compile.
    • 3: You should explain the break keyword.
    • 3: Again, summary slide needs editing. Bad wording/English and no mention of switch/case. WTH do you mention prototypes for? On a technical note, "if", "if-else" are not functions.
    • 4: Explain why you use loops in general.
    • 4: "Important terms" slide: why do the for and do-while loops have example conditions but the while loop does not?
    • 4: Explain the parts of a for loop and why you would use a for loop (versus other loops)
    • 4: The output of your first example does not match the code.
    • 4: Don't use crappy abbreviations like "sth" in a lesson, take the time to spell it out.
    • 4: When "i was equal to 1", the loop did not "continue". Try "When the loop started, i was set to 1".
    • 4: Explain how the conditional part of the loop is checked.
    • 4: Explain what i++ does.
    • 4: Explain a do-while loop. Why would you use it? How is it different than for or while loops?
    • 4: Again, don't abbreviate, distinguish between the loop "starting" and "continuing". Discuss the conditional part of the loop.
    • 4: Why do you not discuss the while loop in detail?

    As for the videos, they're not in lesson order. Also, do they offer anything more than flipping through slides for you, and the inability to copy-paste the examples (though maybe that's good considering half of your examples are broken).

  11. #11
    Master Apprentice phantomotap's Avatar
    Join Date
    Jan 2008
    Posts
    5,108
    [Edit]Sorry moderators, I tried to delete the second post a dozen times.[/Edit]

    O_o

    What sort of insanity drives a person to use responsive CSS over a static components?

    *shrug*

    Anyway, I know you are trying to go all "WEB 2.0!" on this project, but you'd win major points for killing off the massive banner and replacing some of the static widths with "em" measurements. The responsive CSS looks "okay" on a large screen, but the static widths are going to crush user experience on a small screen. I get the desire for "whizzy" features, but 60% of my view is useless garbage on a massive screen; if someone has to look for content once they find your page, they often will not bother. If the content is overlapping, small screen, most visitors would not give you a second chance to impress.

    That said, you should learn to use your CMS (From the look of things, I'm thinking something over "Django"!?) before you attempt to create even one more piece of content. Several of the complaints you've seen here would be solved by just sending the same parameters to the style engine for each tutorial. (Hint: You are sending completely unrelated and inconsistent values for different tutorials.*) Once you better know how to use the CMS, kill the stack and start again correcting all the problems anduril462 so kindly referenced.

    Soma

    *): No. I did not "hack" your site. The relevant JS,CSS, and HTML are obviously sent; I only bothered to look at those files.
    Last edited by phantomotap; 01-25-2014 at 12:26 AM.
    “Salem Was Wrong!” -- Pedant Necromancer
    “Four isn't random!” -- Gibbering Mouther

  12. #12
    misoturbutc Hodor's Avatar
    Join Date
    Nov 2013
    Posts
    1,787
    Something positive: I do like your syntax colouring scheme... is it zenburn?

  13. #13
    Registered User
    Join Date
    Nov 2012
    Posts
    157
    i love criticizing,especially when asked to do it.Personally, i would not recommend that site to anyone just yet.They might find my recommendation an insult if they finally get a proper understanding of c programming.I started learning off a site that didn't explain much as well, and to say the least,it ruined me.Your examples would not make sense to a beginner and they would have little understanding of C. They would do things like #include <stdio.h> "because the program wont compile without it" and lack understanding of C in general.

  14. #14
    Registered User
    Join Date
    Jan 2014
    Posts
    5
    Thank you so much for your advices. This was what I'm looking for. I'm trying to change to the site as visitors suggestions.

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. Beginners Help
    By scott1990 in forum C Programming
    Replies: 6
    Last Post: 05-20-2010, 06:43 PM
  2. Beginners, C++ or C#?
    By Zeusbwr in forum C++ Programming
    Replies: 30
    Last Post: 10-10-2004, 10:54 PM
  3. GUI for beginners
    By Micko in forum C++ Programming
    Replies: 6
    Last Post: 06-24-2004, 05:40 AM
  4. Beginners FAQ
    By Lurker in forum A Brief History of Cprogramming.com
    Replies: 15
    Last Post: 04-14-2004, 07:32 PM
  5. beginners help
    By stormswift in forum C Programming
    Replies: 5
    Last Post: 02-11-2002, 03:44 PM