Presumed knowledge
Course overview
JavaScript is a client-side scripting language used together with HTML and CSS to build dynamic and interactive webpages. It completes the front-end development triad together with HTML and CSS and has a high demand out in the market. It has got a large supportive community with the help of which you can solve nearly any problem you face while developing programs in it.
JavaScript is a fairly easy-to-learn language as you can see from the statistics (on the right or below) and is a good choice for beginners for their first programming language as it can give them the feel of a programming flavor and yet not make things overwhelming. However its measure of ease is relative to other programming languages out there like C, C++, Java etc. These languages are quite complicated to understand and write programs in and have a low-level nature as compared to JavaScript's high-level one. So in short if you've learnt, or tried to learn any of these languages then learning JavaScript will be a piece of cake for you!
For those of you who haven't learnt any of these, the good news is that even for you JavaScript will be a piece of cake because of this course!
Learning outcomes
This course is aimed at making you perfect in developing JavaScript programs by teaching you how to do things and how to do them the right way. When you complete this course you will definitely feel, think and work like a real programmer and even be able to solve real word problems and create real programs on your own.
Being specific, at the end of this course you will know:
- JavaScript basics where to write JavaScript code, how to write it, how to use the console etc.
- How to work with numbers, strings (text), and booleans
- How to solve conditional problems using
if..else
statements and iterational problems usingfor
andwhile
loops - How to work with data structures like arrays and objects
- How to work with functions and complex topics like closures and recursions
- How to work with objects and the importance of Object-Oriented Programming in general terms
- How to employ constructors and prototypes to emulate the behavior of OOP classes and sub classes
- How to work with HTML DOM and the Events API in building page interactivity and dynamicality by querying HTML and CSS and responding to user actions like clicking a button
- How to use JavaScript predefined functions to calculate dimensions of elements, viewports, including or excluding padding, borders, margins, outlines etc.
- How to work with HTTP related stuff using JavaScript, like cookies.
Although we have given roughly a lot of information on our course, you can check out more below in the course overview and explore the details of each unit seperately.
Table of contents
Foundation
5 hrs 38 mins 14 chaptersDescription:In this unit we begin with an introduction to the Javascript language with get you familiar with variables, comments, data types, and much more basic stuff. This unit will make you have a solid ground with coding in JavaScript.
Introduction19 minsGet Started16 minsConsole16 minsBasics1 hr 1 minBasics Quiz8 questionsAddition Calculator ExerciseVery easyVariables30 minsSimple Swapping ExerciseVery easyConstants11 minsComments10 minsData Types47 minsData Types Quiz19 questionsSorted Numbers ExerciseVery easyControl Flow34 minsFunctions18 minsLinear Search ExerciseVery easyIterative Factorial ExerciseEasyOperators28 minsRudimentary Calculator ExerciseEasyPalindromes ExerciseEasyScopes30 minsValues and References5 minsGrammar13 minsQuiz11 questionsNumbers
51 mins 3 chaptersDescription:Here we will get introduced to concepts in JavaScript numbers like integers, floats,parsing numbers from strings and much more stuff like that. We will also see some common methods deployed in JavaScript on top of the Math object.
Strings
1 hr 14 mins 3 chaptersDescription:Strings are an important concept in the programming world, and so are they in JavaScript. This course will introduce you to a ton of concepts, properties and methods of strings. We will also discover regular expressions - a very powerful way to match strings.
Conditions
40 mins 4 chaptersDescription:We will be exploring condition-based execution of code using the if family of conditional statements.
Loops
37 mins 2 chaptersDescription:In loops, we extend the idea of conditions to repeat a block of code over and over again until a condition is being fulfilled. Loops are an integral part of computing since they can automate thousands of lines of code in probably few lines.
Arrays
1 hr 17 mins 3 chaptersDescription:We begin with introducing you to arrays in general and then move on to explore their basics in JavaScript. You will also learn how to make full use of arrays using the properties and methods available to them
Functions
2 hrs 24 mins 5 chaptersDescription:Functions are vital to programming and accordingly we put a lot of focus on making you understand their fundamental concepts. We will take a look at arguments, IIFE's, recursions, and a lot more.
Objects
4 hrs 7 mins 5 chaptersDescription:The heart of JavaScript will be detailed in this very unit - objects. We will look at how to create objects and then move on to explore advanced stuff like constructors and prototypes explained in a clear and easy manner.
Exceptions
30 mins 2 chaptersDescription:Handling errors is an integral part of all modern-day computer programs. In this unit, we'll see how to effectively handle errors in JavaScript using the
try...catch
set of statements.HTML DOM
4 hrs 6 mins 8 chaptersDescription:In this unit, we'll learn how to interact with the HTML content of a web page. By far, the most common thing done using JavaScript is DOM mutation and that's what we'll get to explore throughout this unit. We'll see how to access HTML elements, and then modify their properties, add/delete attributes, remove them completely from the markup, and so on and so forth.
Introduction19 minsBasics27 minsNodes40 minsNodes Quiz17 questionsText Content ExerciseAverageRedefining replaceChild() ExerciseEasyNode Count ExerciseEasyElements32 minsRedefining insertAdjacentElement() ExerciseAverageRedefining firstElementChild ExerciseEasyBuilding Tables ExerciseAverageAttributes44 minsAttributes Quiz12 questionsRedefining className ExerciseEasyHTML Serialization ExerciseHardSelecting Elements38 minsSelecting Elements Quiz20 questionsDocument Fragments16 minsDocument Fragments Quiz6 questionsDynamic Lists ExerciseEasyappend() Polyfill ExerciseEasyDocuments30 minsDocuments Quiz9 questionsQuiz14 questionsCSSOM
1 hr 53 mins 7 chaptersDescription:The next logical step after learning how to access HTML elements in JavaScript is to be able to compute their dimensions. This unit teaches us all the aspects of such computations.
Events
3 hrs 37 mins 10 chaptersDescription:Extend the learnings of HTML DOM by using events in JavaScript. This unit will make sure you know what are events, how they work, some of their key ideas and implementing them in actual code.
Introduction11 minsBasics24 minsA Simple Counter ExerciseEasyMany Counters ExerciseEasyEvent Objects28 minsDiv Clicked? ExerciseEasySortable Tables ExerciseHardEvent Propagation32 minsMouse Events31 minsPointer Circle ExerciseEasyCreating Rectangles ExerciseAverageRight-Click Menu ExerciseAverageKeyboard Events9 minsScroll Event34 minsScroll Event Quiz7 questionsLoad Events10 minsHashchange Event7 minsPopstate Event31 minsPopstate Event Quiz9 questionsDrag and Drop
1 hr 45 mins 5 chaptersDescription:Drag-and-drop is common in native desktop applications. But JavaScript is by no means behind. This unit aims at teaching us how to set up a simple drag-and-drop program using minimal JavaScript. We'll see, in detail, things such as draggable elements, drag data and what exactly are dropzones. Finally, we'll cover some drop effects before ending with the final unit quiz.
Touch Events
46 mins 4 chaptersDescription:With the rise of touch-based devices, it's difficult to ignore the importance of touch events in JavaScript. In this unit, we'll start by discovering the history of touch events, followed by understanding how to set up touch event handlers in applications. Finally, we'll explore the two most important interfaces when working with touch events —
TouchList
andTouch
.Misc
46 mins 5 chaptersDescription:In this unit, we'll cover some of the miscellaneous concepts of JavaScript that couldn't be grouped under one single category. These include APIs such as
Date
,History
,Location
, and some global functions such assetTimeout()
andsetInterval()
.-
Analog Clock
This is the first of the projects that you'll create in this course. The project is to create an analog clock, similiar to the ones mounted on the walls of our house.
Frequently asked questions
-
Is learning JavaScript difficult?
Frankly speaking, JavaScript is not at all difficult to learn, but that's not to say that it doesn't have its complexities and surprises. Fortunately, we've got you covered — this course aims at making you an expert in JavaScript, one of the most celebrated languages of the era.
-
How long does it typically take to learn JavaScript?
While you can get comfortable with the basics in less than a week, learning JavaScript comprehensively can take a long time. How much? Well, giving a precise quantitative measurement isn't obviously possible, but it can be somewhere in between 2 - 6 months. It's a huge language with tons and tons of APIs to master, all of which require a sufficient time span to get used to.
-
Will this course provide me with sufficient knowledge to be able to build web applications using JavaScript?
Absolutely yes. You'll acquire logical reasoning and programming skills through this course, both of which go hand-in-hand once you start building complex web applications in JavaScript.
-
What if I get stuck somewhere in the course?
If you're having a hard time understanding a given concept in the course, feel free to reach out to us via our email
mail@codeguage.com
, describing the issue you're facing. We'll try our level best to help you out. -
Some important topics are missing from the course. Why is that so?
Our courses are released while they are still under construction so that our learners can get early previews. As we continuously work on adding more and more content to our courses, if a given topic isn't covered today, there's a high chance that it's already under way and will show up very soon. You can follow us on Twitter to be updated with our latest content releases.
-
How can I ask any general questions related to the course's content?
Write to us at
mail@codeguage.com
.
Share your experience
Empower others and help shape new learning journeys!
We are really glad to know that our immense effort on creating this and other suchlike courses got you here. We believe that your insights regarding this course can inspire and guide others on their learning path. We'd really love to hear about your viewpoint on the course and how it helped you improve your skills.
The best part is that you get to post the review from your own Instagram or Twitter account, while mentioning CodeGuage in your post. The process to follow is really simple:
- Write about your experience of a given course and how it helped you in levelling up your skills.
- Include the
@codeguage
handle in your post. (That's important!) - Include the
#SkilledUpWithCodeGuage
hashtag in your post.
And that's it! It's that simple.
We sincerely thank you for being an integral part of our community and helping us shape a brighter future for aspiring programmers and mathematicians.
Together, let's build a community of learners. Happy learning! 🙂
Why this course?
-
Free of cost
No need to buy any subscriptions, make any payments, or create any accounts. All the content is available for free.
-
Well-structured
Content throughout the course is organized in a chronological fashion, ensuring a clear and intuitive learning experience.
-
Simple to understand
Everything is explained in plain and concise words, right from the perspective of an absolute beginner.
-
Detailed explanations
Certain concepts require a pretty deep insight. Fortunately, we provide all that insight in easy words.
*The durations mentioned on this page are merely an estimate; the actual time completing the underlying topic/course would obviously be much greater.