Why this Program is FREE ?
No. It’s NOT… It’s not completely free.
Though it’s the truth that, we are providing you copyright laws complacent free content from some of the best teachers on the globe, we still need capital for our servers and hosting.
And more than that, the free (premium-level) support we offer you, that is, whenever you want your doubts cleared, or have some queries and problems, we will provide you top notch solutions through live chat facility…
We need to pay to these experts who are going to help you through every step of this journey.
The way we fund this “non-profit” organization (we don’t actually take any financial games through any Codingfrat coaching) is, through donations.
There are so many people who are willing to fund organizations like us, which helps people getting their dream education.
If you want to be one of those people, and get some of our bonus gift offers shipped out to your doorstep, you can go to this link and donate us any amount you want. Staring from 5 dollars. Remember, you are providing and helping us to hone a young mind into a fine programmer of modern age, who truly honestly helps society and businesses grow..
Regardless, welcome at Codingfrat, where we together make dreams happen…
Who are We?
We are a Group of Marketers, Copywriters, Web Developers, Bloggers. We meet virtually and work towards a common vision. Read more about us here.
What is Coding?
Coding is the ability to instruct the computer to work as you please by translating lines of text into actions. In order to communicate with the computer, you must learn to use a language that the computer can understand. Just as how English or Mandarin can be languages that we use daily to communicate with our teachers, friends and family, the language that the computer uses is coding. There are many different coding languages, (Eg. C++, Java, Python, Perl, PhP) and each language has its niche in different industries. For example, Objective C is used to develop iOS apps, and a similar app on the android phone is programmed using Java. C# is used to build Windows applications while PHP is used in many web applications. You can take a look at this infographic which explains the use of different languages in a fun way. However, the fundamentals are all the same. What is most important is the ability to break down the problem in to smaller pieces (Decomposition), think logically and give step-by-step instructions (Algorithmic thinking) to the computer, regardless of which coding language is used.
How will Coding help a child in School?
Which programming language should I learn?
- C: You like low level stuff and you want to be pretty close to the metal. Some people call it portable, but it isn’t really that portable.
- C++: Like C, but easier and klunkier, with object orientedness thrown in.
- C#: Runs perfect on Windows. Runs great on Linux/Mac, but gets lots of hate because “Micro$oft’s” fingers are in it. Like Java, but not shitty.
- Assembly: You will learn everything there is to know about your computer if you learn assembly.
- HTML/CSS/JS: You don’t really want to be a programmer, you just want a website.
- PHP: Please, for the love of God, don’t even bother.
- Python: Nice standard library, lightweight, easy to start new project. Whitespace is syntactically important.
- Java: Runs on a lot of stuff, but has lots of boilerplate and forces you to arrange your source tree by namespace (I think).
- brainfuck: Not practical for anything, but it’s fun to try for a while and forces you to think in new ways.
Why are the majority of games, PC and Console written in C++?
- See the article Why C++
Because C and C++ (and a lot of other languages which don’t use a virtual machine or interpreter) are compiled to native code (assembler) which runs directly on the computer hardware. This means that there’s no virtual machine on top of the hardware which runs the intermediate code (‘assembler’ for the virtual machine. This is the bytecode in java and IL in .NET).
Platforms with a virtual machine (e.g. Java and .NET) use a JIT compiler which compiles the byte code / IL at runtime into assembler for running it on the hardware. This process takes some processor cycles away but at the same time it can make clever decisions at runtime how to optimize the code. In theory, this process could be as fast or faster than the assembler resulting from compiling C/C++ code.
In practice it’s not (yet) the case.
This thus means that practically, one could better use a language which a) gives an abstraction above assembler (thus C, C++ ) and b) compiles directly to assembler. Another big issue is memory management. C and C++ force you to do your own memory management, which is preferable if you have limited memory on for example a console. With languages which compile to IL / Bytecode for example you leave the memory management to the virtual machine, which means you don’t have control over that directly.
What programming language should I use for my new game?
Speaking as someone who’s been mentoring a class on experimental game design for the last three years, so please take this advice over the kneejerk “C++/C/not Java”:
Almost every game needs graphics, audio, and input libraries. There are libraries specifically designed for games that wrap all of these functions, and as a beginner it’s probably best if you start with one of these. The most commonly recommended ones are SDL, Ogre, Pygame, Slick, JMonkey, and XNA. Ogre and Pygame suck: don’t use these. XNA is great, and I hate C# so trust that I say so begrudgingly. Slick and JMonkey are also great, and, being Java libraries, you can access them through Python (Jython), Lisp (Clojure), or Java (duh). If you’re dead set on using a language that isn’t one of the ones easily supported by these libraries, you can use SDL because there are SDL bindings for everything.
Now, a note on speed, because somebody is going to bring it up. Don’t use Ruby. Excluding Ruby, the harshest performance difference you’ll ever see is Python versus C++: Python is roughly 100x slower than C++. 100x sounds like a lot: however, say you have a O(n2) algorithm. Once n>100, the difference caused by a 100x performance boost is too small to allow you to afford increasing n by one. Why is this important? Object interaction is by nature an O(n2)algorithm. If you can handle over 100 objects on-screen in C++ without a dip in framerate, then any language switch (except Ruby) will have almost no performance impact.
Finally, what do professionals use? Traditionally, C++. Now, increasing amounts of Flash, Objective C, and Java. Sky-rocketing amounts of C#. C++ is still the single most common, especially for AAA titles. However, most big-budget titles are made by buying a bunch of professional-grade middleware libraries (which are in C++), gluing it together with a small amount of C++ code, then writing the rest in a scripting language. The most common scripting language here is Lua, but by a tiny margin.
 Yes, you can trim the hell out of this using a region grid or a quad tree. Both of these blow up in the asymptote due to finite memory. Segregation can drop you to O(n) with no memory overhead, but that imposes restrictions on your game design.
Is a computer science degree necessary?
A CS degree is for working in software development. Certification programs are for working in IT. If you want to be a sysadmin, pursue certifications. If you want to be a software developer, pursue a CS degree, preferably in a good institution.
A CS degree is a plus for working in IT, but not necessary. The rest of the answers regarding employment refer to jobs in software development.
- Is a CS degree necessary to being a programmer? No.
- Is a CS degree worthwhile to being a programmer? Yes, very much.
- Is a CS degree necessary to get a job as a programmer? No, but you’ll be pushing your luck, even if you’re very talented.
- Is a CS degree worthwhile in order to get a good job as a programmer? Yes, especially if you’re young and inexperienced.
Are advanced degrees worthwhile? Yes for MSc. No for PhD, unless you’re looking for an academic career or an industry career in chip design.
Are advanced degrees necessary to get a job or advance your career? Yes for academic careers. No for everything else. Financially, they’re not worth it. A starting programmer with a bachelors degree may have an average starting salary of somewhere between $50k and $80k a year. On the other hand, most graduate student stipends are between $15k and $25k a year.
On the other hand, do consider graduate study if you like studying CS. Note that if you do like CS, getting a funded PhD offer means getting paid for several years to study what you enjoy (i.e. free education).
Other degrees: Software Engineering, but it is basically the same thing as most CS programs. Other Information Science, MIS, certification programs and similar degrees that are not proper CS or Software Engineering are looked down upon and for good reasons. Don’t go near those.
Bottom line: If you want to program, get a good bachelor CS degree.
I’m not a programmer. How do I start?
Take a look at: A Reddit For Free Programming Classes
Like learning maths or english, you need to start with basic building blocks of programming. As you have addition and subtraction, verbs and nouns, you will have if-else and basic loops to use. These “blocks” combined together control the behaviour (the flow) of a program. You should consider mastering these basics in any language as the idea is exactly the same no matter which language you use.
It is debatable which language you should use to learn these concepts, and at the end of the day it will boil down to your own preference. Programming languages are like the tools in a toolbox – different ones serve a better purpose than others, after all you wouldn’t use a hammer to screw a nail in. Using C# or Java would be the best idea as the community content regarding these subjects is wide and varied and the code you write is not difficult to understand, however as your ability grows you can decide on which language is the best to use for your own projects.
This gets asked a lot in Programming Reddit. Some of the past discussions:
- I’m a 17-year-old boy who’s very interested in programming and knows nothing about it…where should I start?
- Any tips on how to start to learn programming from the very start?
- As (sic) Proggit: how’d you get started (programming)?
- if someone were to ask you “I want to program, how should I start? Assume this person has no experience..What would you tell them?
- I want to start to learn to Program. What programming language should I learn first and where can I find guides on how to start?
- How to teach web development to n00bs: 10 things I learned training 50 people to be software engineers
What music do you listen to while coding?
- radios like , etc.
- Fast music i.e. 130BPM (trance or techno instrumental)
- Electronic, jazz, acid jazz, hip-hop (instrumental)
- (instrumental music)
- Daft Punk – TRON: Legacy
- Hans Zimmer & James Newton Howard – The Dark Knight
- Spotify Deep Focus Channel or Brainfood Channel
- Pandora’s Beats for Studying
- Trent Reznor & Atticus Ross – The Social Network Soundtrack.
I want to learn language X, what book should I read?
I’ve tried to collect the canonical books for popular programming languages. These are aimed at experienced developers. New programmers may be able to follow them, but they will find it easier to start with a book targeting beginners.
- C: The C Programming Language (K&R) by Kernighan and Ritchie
- C++: C++ Primer Plus by Stephen Prata, or Effective C++ by Scott Meyers
- C: The C Programming Language by Brian W. Kernighan / Dennis Ritchie
- Java: Thinking in Java by Bruce Eckel
- Perl: Programming Perl by Larry Wall, Tom Christiansen, and Jon Orwant
- Python: Dive into Python by Mark Pilgrim
- Ruby: Programming Ruby The Pragmatic Programmer’s Guide by Dave Thomas, with Chad Fowler and Andy Hunt or Why’s (poignant) Guide to Ruby by why the lucky stiff.
- Haskell: Real World Haskell by Bryan O’Sullivan, Don Stewart, and John Goerzen
- Lisp: Paradigms of Artificial Intelligence Programming: Case Studies in Common Lisp by Peter Norvig or Practical Common Lisp by Peter Seibel
- Scheme: Structure and Interpretation of Computer Programs (SICP) by Abelson, Sussman, and Sussman