Last updated 3/2023Course Language EnglishCourse Caption EnglishCourse Length 06:46:54 to be exact 24414 seconds!Number of Lectures 84
This course includes:
7 hours hours of on-demand video
Full lifetime access
Access on mobile and TV
Certificate of completion
Interface design principles in depth
Software practices to write readable and production ready code
Principles to follow while tackling niche problems like performance and debugging
Importance of programming practices in building high performance code without making the code unreadable
Sections are minimized for better readability, click the section title to view the course content
2 Lectures | 06:00
The text discusses the importance of programming practices in avoiding errors when writing code. It emphasizes that programmers are humans and make mistakes, but certain practices can help prevent errors. The text also mentions that programmers will use multiple programming languages during their careers and that these practices should be followed regardless of the language being used. The text gives an example of code that seems fine but has logical errors and inconsistencies in comments. The text concludes by stating that the course is about programming practices, not just syntax, and aims to make programmers more efficient and productive in delivering software that serves billions of users without failing.
Sincere Request before getting started
Here are some steps you can take to use online courses for self-learning optimally:
Identify your learning goals: Before you start an online course, it's essential to know what you want to get out of it. This will help you choose the right course and stay focused while learning.
Find a reputable course provider: Look for online courses from reputed institutions or well-known experts in the field. This will ensure that you're getting high-quality content and support.
Create a study schedule: Online courses can be self-paced, but it's still a good idea to set aside dedicated time to study each week. This will help you stay on track and make the most of your learning experience.
Take advantage of additional resources: Many online courses include reading materials, quizzes, and exercises to help you learn. Make sure to take advantage of these resources and use them to reinforce your learning.
Seek help when you need it: If you're having trouble with a concept or running into problems with the course, don't hesitate to ask for help. Many online courses offer support through forums, email, or live chat, so use these resources if you need them.
Stay motivated: Learning can sometimes be challenging, so staying motivated and moving forward is essential. Set small goals for yourself, take breaks when you need to, and reward yourself when you complete a course or reach a learning milestone.
20 Lectures | 01:16:34
Programming Style : Section Introduction
This section of the text talks about the importance of programming style. The text emphasizes that style is independent of any programming language and applies to every line of code written. The text mentions that the section will cover topics such as naming conventions, expressions and statements, consistency and idioms, and certain aspects of languages that play a role in readability. The text also mentions that these principles are important for the maintainability of code, especially in systems with millions of lines of code. The text notes that these principles are applicable to any programming language and will remain relevant in the future. The text concludes by stating that the course will have detailed discussions on these topics in order to encourage readers to think from a systemic perspective and to understand the human element of programming.
Why programming style matters?
What are some ways to make sure a program is easily readable and understandable for humans?
Why is it important to write code that is easy to read and understand?
How can a consistent coding style improve communication between the person writing the program and the person reading it?
Naming : Desired Characteristics
What are some general desirable characteristics when it comes to naming in programs?
Why is being informative key when naming conventions in programming?
How important is being concise when naming entities in a program?
Why is it important for names to be memorable in a program?
How can naming conventions help with debugging and maintaining code?
Naming Practices : Variable names - 1
The lecture discusses the importance of naming conventions for variables in programming, specifically focusing on the clarity and scope of variable names. It is suggested that global variables should be descriptive in nature, while local variables should aim to be short, and an example is provided to illustrate this point. The lecture emphasizes that the goal of naming when it comes to variable names is to make the code more readable and easy to understand.
Naming Practices : Variable names - 2
How can naming conventions in programming be a source of conflict among teams and how can this be resolved?
How do naming conventions and styles change at different levels of organizations?
How can variable names be used as functionality indicators, and how can this improve the readability of code?
Naming Practices : Variable names - 3
What is the importance of consistency in naming in programming?
How can code be made more readable and maintainable by addressing inconsistencies in naming?
What are the implications of not addressing inconsistencies in naming, such as API changes and bugs?
How should changes to improve consistency in naming be handled in code reviews and maintenance?
Naming Practices : Function Names
How does identifying functions using active verbs make sense in programming?
What is a simple rule for naming functions using active verbs and nouns?
How should Boolean returning functions be named to convey their information clearly?
Why is it important to be considerate about subtle naming conventions when exposing a public API?
Naming Practices : Importance of being accurate
Why is code readability an important element in the productivity of teams?
How can naming variables and functions accurately improve code readability and maintainability?
How can inaccuracies in function naming lead to bugs in the code?
How should teams handle educating new members about the team's style of coding?
Expressions and Statements : Indentation
What are the benefits of using proper indentation in code?
How can indentation be used to show the intent of the programmer?
How can consistency in indentation be maintained across a codebase?
What are the best practices for configuring indentation rules and enforcing them in a team?
Expressions and Statements : Natural Expression
How does using natural form of expressions affect code readability?
How can one test how well they write readable code?
What is the most prominent example of not following the natural form of expression?
How can refactoring code improve readability without changing the mathematical consistency of the expression?
How can unit testing help with safely making changes to improve code readability?
How can readability of code be helpful when debugging for a bug in a rush?
Expressions and Statements : Parantheses
How can using natural form of expressions help improve code readability?
How does adding parenthesis improve readability when working with complex sets of conditions?
Why is it important to consider the readability of code for average readers, rather than just expert programmers?
How does the use of parenthesis show intent in code?
How can adding parenthesis improve readability when working with database queries and configurations?
How can the inclusion of parenthesis make code more readable for new programmers or those learning to code?
Why is code readability important in the context of job interviews?
How can unit testing help when refactoring code to improve readability?
How does the readability of code become more important as one becomes more senior in their programming career?
Expressions and Statements : Complexity
How is breaking up complexity crucial for readability in programming?
What are some ways to simplify complex conditional statements to improve readability?
How can a programmer build the skill of writing readable code?
How can a programmer avoid the trap of writing code that only they and their team can understand?
Why is it important to write code that is readable for everyone, not just experts in the field?
How can a programmer ensure that they are not compromising readability for the sake of being clever or concise?
What are some examples of language features that can be avoided to improve readability?
Expressions and Statements : Side Effects
What are the side effects of certain operators and how can they be avoided?
How can using operators correctly and in a Justified manner prevent bugs in the future?
What steps can be taken to communicate the potential side effects of certain operators in advance?
Why is it important to use operators judiciously and not just for the sake of making code look concise?
Consistency and Idioms : Overview
Consistency and Idioms : Loops
Consistency and Idioms : else if
11 Lectures | 55:41
Algorithms and Data Strcutures : Section Introduction
Necessity to understand practices around data structures and algorithms
Algorithms : Search
Algorithms : Sorting
Search quick check
Algorithms : Libraries
Algorithms : O - Notation
Data Strcutures : Dynamic Arrays
Data Strcutures : Lists
Data Strcutures : Trees
Data Strcutures : Hash Tables
Algorithms & Data Strcutures : Summary
13 Lectures | 01:22:39
Interface Design : Section Introduction
Design and Implementation in general
Introduction to interface design programming practices
Interface Example : Prototype design version
Interface Example : Library
Interface Design : General Principles
Hiding implementation a.k.a abstraction
Interface Design : General Principles extended
Resource Management programming practices
Error Handling programming practices
6 Lectures | 41:22
Debugging : Section Introduction
Debugging practices overview
Debuggers in general
Debugging practices for easy bugs
Debugging practices for hard bugs
7 Lectures | 33:58
Software Testing: Section Introduction
Test as you code or Test Driven Development
Systematic testing practices
Considerations while software testing in general
Ownership of testing
9 Lectures | 48:42
Software Performance : Section Introduction
Performance practices overview
Basic steps to appraoching performance issues
Guideline programming practices for dealing with performance improvement
Timing and profiling for performance
Performance improvement strategies
Code tuning for better performance
Optimal space utilization for better performance
5 Lectures | 21:46
Software Portability: Section Introduction
Role of language in portability
Environmental factors to be considered in practices dealing with portability
Role of system interface and practices to handle the portability concerns
FAQ: Udemy Free course Most frequent questions and answers
Does Udemy offer Free Udemy coupons?
Yes, Udemy is the largest online education platform, with the broadest selection of video-on-demand courses and qualified instructors available to meet your needs. At theprogrammingbuddy.club we curate the latest udemy coupons, their expiry, and the number of uses left of these udemy coupons.
How to get free Udemy courses?
There are two ways to get free Udemy courses:
Go to udemy.com and search for your desired course category. Then select free from the filter options.
You can also get paid courses for free if you have a coupon. You can head to theprogrammingbuddy.club, where you can get a daily udemy paid course for free.
How to get Udemy Certificates for free?
Udemy offers certification on completion of each course. In order to receive a certificate of completion from Udemy, you need to complete your course 100%. There is a simple hack, you can open a video and jump on the timeline to complete a lecture.
To download the certificate from Udemy, you need to head over to your account on a desktop browser. Udemy certificates can't be accessed on the mobile app.
Do Udemy courses expire?
No, once you enroll, you will have lifetime access to the course. You can complete the course on your schedule.
Why are the Udemy instructors giving away free Udemy Coupons?
Every instructor has worked for hours on each of their courses. As new courses get launched, the instructors have no way to get their course in front of an audience to get some feedback. So, instructors share free coupons for their courses to get feedback from the students. We attheprogrammingbuddy.club work with these instructors to get their courses available to our buddies.
Is Udemy safe to use?
Yes, payments on Udemy are safe. It is no different than paying for other services on an application or website and inputting your payment information before receiving your goods. Just be sure to keep your account secure, do not share your udemy accounts.
Can Udemy courses get you a job?
Earning a skill is more valuable than earning a job these days. Skills are your most valuable asset. They can help you qualify for jobs you want and get promoted to more advanced positions within your organization. Unfortunately, it is difficult for many people to balance taking courses with work and family obligations. We have had many students, who have taken just Udemy courses, started a job as well as started freelancing with the skills they have learned.