This is 5th blog in my ongoing CS50 Series. Readers are suggested to go through 0th, 1st ,2nd & 3rd article for a better understanding of subject matter. In this blog, we will learn about memory management in C.

Image for post
Image for post
Computer Memory (Credit: www.pandasecurity.com)

In the last blog, we studied different searching & sorting algorithms. In this blog, we will be studying

  • Hexadecimal Numbers
  • Pointers
  • Memory Layout
  • Dynamic Memory Allocation
  • Call Stacks
  • File Pointers

Hexadecimal Numbers

In our daily life, we use Decimal System (base 10) having 10 digits (0 to 9) to represent the data where each digit has place values like 1, 10, 100 and so on. The computer use Binary System (base 10) having 2digits (0 &1) to represent the data where each digit has place values like 1, 2, 4 and so on. …


This is 3rd blog in my ongoing CS50 Series. Readers are suggested to go through 0th & 1st blog for a better understanding of subject matter. In this blog, you will learn more about the C Programming Language.

Image for post
Image for post
Credit: www.media361.com

In the previous blog, I discussed some important concepts of C language. In this blog, I will discuss the following topics

  • Debugging
  • Functions
  • Variable Scope
  • Arrays
  • Strings
  • Command Line Arguments.

Debugging

It's human nature to commit mistakes. The bugs are mistakes in a program that we didn't intend to make. Debugging is the process of finding and fixing these mistakes.

CS50 IDE provides a special function help50 to help us fixing Syntactical errors. You can use help50 with the help of the following command
help50…


This is 4th blog in my ongoing CS50 Series. Readers are suggested to go through 0th, 1st & 2nd blog for a better understanding of subject matter. In this blog, you will learn about the algorithms.

Image for post
Image for post
Credit: www.pandorafms.com

In the previous blog, I discussed some important concepts of C language. In this blog, I will discuss the following topics

  • Algorithm & its Efficiency
  • Linear Search
  • Binary Search
  • Bubble Sort
  • Insertion Sort
  • Selection Sort
  • Recursion
  • Merge Sort
  • Summary

Algorithm & its Efficiency

The algorithm means step by step instructions for solving a problem. There can be different ways to solve the problem. …


This is 2nd blog in my ongoing CS50 Series. Readers are suggested to go through 0th blog for a better understanding of subject matter. In this blog, you will learn about the C Programming Language.

Image for post
Image for post
Credit: www.media361.com

In the previous blog, I discussed how to create your first game in Scratch. In this blog, I will discuss the following topics

  • C
  • Hello World: First C Program
  • Compiling
  • Data Types
  • Variables
  • Operators
  • Conditional Statements
  • Loops
  • Command Lines

C: Mother of All Programming Languages


This is my first blog in CS50 Series. I am so much excited to take you on this amazing learning journey of CS50. In this blog, we will learn about a programming language Scratch.

Image for post
Image for post
Credit: https://scratch.mit.edu

What is Scratch?

Scratch is a free educational programming language that was developed by the Lifelong Kindergarten Group at the Massachusetts Institute of Technology. It geared towards kids ages to 8–16 but people of all ages use it. Users program in Scratch by dragging blocks from the Block palette categories and clipping them to other blocks like a jigsaw puzzle in Code Area. Structures of multiple blocks are called Scripts. The computer pictures in scratch which will follow our commands are called Sprites. This method of programming (building code with blocks) is referred to as “drag-and-drop programming”. The output of code is displayed on Stage Area. Below stage area, there is Sprites pane area where you can add/delete sprites, modify their size etc. …


Image for post
Image for post
Source: CS101 on Edx

CS101 is Stanford University’s Introduction to Computer Science for a zero-prior-experience audience, taught by Professor Nick Parlante and available for anyone to take online.

I had left the job to make my career in the IT Industry and I took this course to begin the same after a recommendation from my mentor Aishwarya. I am aspiring to be a Data Scientist and thought it's better to start with basics. I had so many questions regarding the fundamental working of computers and CS101 lived up to all of my expectations in answering those questions in a very simple manner.

Overview

Split over 6 weeks, it's a self-paced online course that teaches the essential ideas of Computer Science for a zero-prior-experience audience. Using short bits of “computer code” written in a variant of ‘Javascript’, it teaches the basic concepts of strength and limitations of computers. It covers all fundamentals topics related to the computer…

About

Sachin Bhutekar

Computer Science enthusiast & aspiring Data Scientist. I write to share my CS learnings with others. LinkedIn: https://www.linkedin.com/in/sachin-bhutekar-cs/

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store