Articles by "Home"
Showing posts with label Home. Show all posts
The particular blog is related to C++ programming concepts. OOPs Class Function Operator overloading Inheritance Function Overloading
The Most popular coding challenge websites for 2018

A great way to improve your skills when learning to code is by solving coding challenges. Solving different types of challenges and puzzles can help you become a better problem solver, learn the intricacies of a programming language, prepare for job interviews, learn new algorithms, and more. 



Below is a list of some popular coding challenge websites with a short description of what each one offers.

1. TopCoder: TopCoder is one of the original platforms for competitive programming online. It provides a list of algorithmic challenges from the past that you can complete on your own directly online using their code editor. Their popular Single Round Matches are offered a few times per month at a specific time where you compete against others to solve challenges the fastest with the best score. The top-ranked users on TopCoder are very good competitive programmers and regularly compete in programming competitions. 
2. Coderbyte: Coderbyte provides 200+ coding challenges you can solve directly online in one of 10 programming languages. The challenges range from easy to hard. They also provide a collection of algorithm tutorials, introductory videos, and interview preparation courses. Unlike HackerRank and other similar websites, you are able to view the solutions other users provide for any challenge aside from the official solutions posted by Coderbyte.

3. Project Euler: Project Euler provides a large collection of challenges in the domain of computer science and mathematics. The challenges typically involve writing a small program to figure out the solution to a clever mathematical formula or equation, such as finding the sum of digits of all numbers preceding each number in a series. You cannot directly code on the website in an editor, so you would need to write a solution on your own computer and then provide the solution on their website.




4. HackerRank: HackerRank provides challenges for several different domains such as Algorithms, Mathematics, SQL, Functional Programming, AI, and more. You can solve all the challenge directly online. They provide a discussion and leaderboard for every challenge, and most challenges come with an editorial that explains more about the challenge and how to approach it to come up with a solution. Aside from the editorial, you cannot currently view the solutions of other users on HackerRank. HackerRank also provides the ability for users to submit applications and apply for jobs by solving company-sponsored coding challenges.

5. CodeChef: CodeChef is an Indian-based competitive programming website that provides hundreds of challenges. You are able to write code in their online editor and view collections of challenges that are separated into different categories depending on your skill level. They have a large community of coders that contribute to the forums, write tutorials, and take part in CodeChef’s coding competitions.

6. CodeEval: CodeEval is similar to HackerRank where it also provides a collection of company-sponsored coding challenges that can help you get a job if you solve them well. Companies can create challenges and host competitions to recruit new developers for work.

7. Codewars: Codewars provides a large collection of coding challenges submitted and edited by their own community. You can solve the challenges directly online in their editor in one of several languages. You can view a discussion for each challenge as well as user solutions.

8. LeetCode: LeetCode is a popular Online Judge that provides a list of 190+ challenges that can help you prepare for technical job interviews. You can solve the challenges directly online in one of 9 programming languages. You are not able to view other users solutions, but you are provided statistics for your own solutions such as how fast your code ran when compared to other users. They also have a Mock Interview section that is specifically for job interview preparation, they host their own coding contests, and they have a section for articles to help you better understand certain problems.

9. Sphere Online Judge: Sphere Online Judge is an online judge that provides over 20k coding challenges. You are able to submit your code to an online editor. Sphere Online Judge also hosts their own contests and has an area for users to discuss coding challenges. They do not currently provide any official solutions or editorials like some other websites do though.




10. CodinGame: CodinGame is a bit different from the other websites because instead of simply solving coding challenges in an editor, you actually take part in writing the code for the game that you play directly online. You can see a list of games currently offered here and an example of one here. The game comes with a problem description, test cases, and an editor where you can write your code in one of the 20+ programming languages. Although this website is different than typical competitive programming websites such as the ones mentioned above, it is still popular amongst programmers who enjoy solving challenges and taking part in contests.

Source of Information about this content:



The particular blog is related to C++ programming concepts. OOPs Class Function Operator overloading Inheritance Function Overloading
Best Online Resources to Practice C++

Codingbat is a project started by Nick Parlante of Stanford University. It has a good number of practice problems with levels of increasing difficulty. The solution of each problem is also given but in either Python or Java, which can be understood easily even if you are not familiar with them. The strings section is really helpful in improving programming skills. 




Cprogramming is primarily composed of topic wise tutorials on C++, as discussed in the previous post. It has two portions viz. Quizzes and Practice Problems.  Quizzes section has MCQ’s on different topics and concepts whereas the other one consists of programming challenges with their solutions. 

Project Euler is a series of mainly mathematical programming challenges. It contains about 387 different problems, playing with numbers, series, and sequences. 


Gotw is the acronym for Guru of the Week. The site was established many years ago by Herb Sutter who is Chair of the ISO Standards Committee. It contains about 100 different problems and snippets of code along with their solutions. The material present is a bit advanced but useful and highly accurate. 

The programming challenges section of CS Tutoring Center contains 124 practice problems. They range over different difficulty levels and their solutions could also be submitted online after registering.   

Another similar site is the Holland-based Sphere Online Judge. It has more or less 10,000 problems of different difficulty levels. Most of the problems are not very easy to solve and their solutions could be submitted by registered users.

DaniWeb is an online community for programmers to share and discuss their problems and bugs in coding. Its posts also contain many programming problems to solve which are really helpful.

Ubuntu forums is an online community and contain a handful of good programming challenges in its Programming and Development section. It also contains threads on the coding problems and issues.

Top Coder is a community for software development and digital creation, more like a freelancing platform. It is intended for those programmers who are sufficiently accomplished to take part in a programming competition. The competitions are held in different categories at various difficulty levels and the winners are able to get the cash prizes. Its registration is free!




CodeChef is a non-profit educational initiative of Directi.It is a global competitive programming platform which supports over 35 programming languages and has a large community of programmers that helps students and professionals test and improve their coding skills. Its objective is to provide a platform for practice, competition, and improvement for both students and professional software developers. 

For more information visit the below link:
The particular blog is related to C++ programming concepts. OOPs Class Function Operator overloading Inheritance Function Overloading
PortoCafe PLX Edition-PC Like Experience (White)

Product description:
Eco-friendly design factor, instant booting, carry wherever you want, converts mobile experience to desktop experience. PortoCafe PLX Edition – PLX stands for PC Like Experience Product Status- Ready to go| Tailored for the B2C segment.  Meant for exploring productivity with comfort in mobility and economics. Converts the Android Smartphone to Full Desktop PC Experience coupled with Linux and Android apps running simultaneously without Virtualization (i.e. via means of Kind of Streaming Technique).  




Purchase Link to the product:

Product Detail of the PortoCafe PLX:

Material: Plastic
Color: White; Connectivity: IoT
Pin Type: HDMI Cable to OTG
Included Items: 1 TCF, 1 OTG Cable, 1 Keyboard, 1 Mouse, 1 Power Adapter and 1 HDMI Cable
Features: Eco-friendly design factor, instant booting, carry wherever you want, converts mobile experience to desktop experience.
Technical Details of the PortoCafe PLX:
Brand: Portocafe
Model: PCF_PLX
Item model number: PCF_PLX
Operating System: Linux
Compatible Devices: Android devices
Included Components: 1 TCF, 1 OTG Cable, 1 Keyboard, 1 Mouse, 1 Power Adapter and 1 HDMI Cable
Batteries Included: No
Batteries Required: No
Has Auto Focus: No
Programmable Buttons: No

Warranty & Support of PortoCafe PLX:
Warranty Details: All labor cost covered for 90 days from the date of purchase.




Images of the PortoCafe PLX:



The particular blog is related to C++ programming concepts. OOPs Class Function Operator overloading Inheritance Function Overloading
Dear Academicians/Researchers,

The CI Summit (Computational & Web Intelligence) aims to achieve a multi-disciplinary balance between research advances in theories and methods usually associated with Collective Intelligence, Data Science, Human-Centric Computing, Knowledge Management, and Network Science. It is committed to addressing research that both deepen the understanding of computational, logical, cognitive, physical, and social foundations of the future Web and enable the development and application of technologies based on Web intelligence.






Special Session
Recent Development in Educational Data Mining, Machine Learning, and ICT.

Date: September 14-15, 2018
Venue:- HOLIDAY INN HOTEL, SILOM, BANGKOK THAILAND


Best Regards,
Mukesh Kumar (India)
Himachal Pradesh University, Summer-Hill, Shimla.
Ph.D. (Pursuing) Computer Science Department,
Himachal Pradesh University, Shimla.

Assistant Professor,
Chitkara University, Solan, (Himachal Pradesh)



Email Id: mukesh.kumarphd2014@gmail.com
Mobile No: +91-88726-71333 (W)
The particular blog is related to C++ programming concepts. OOPs Class Function Operator overloading Inheritance Function Overloading
Programming Language

Introduction to Low-Level Language:
First-generation language is the lowest level computer language. Information is conveyed to the computer by the programmer as binary instructions. Binary instructions are the equivalent of the on/off signals used by computers to carry out operations. The language consists of zeros and ones. In the 1940s and 1950s, computers were programmed by scientists sitting before control panels equipped with toggle switches so that they could input instructions as strings of zeros and ones. 

Advantages of Low-Level Language:
1. Fast and efficient
2. Machine-oriented
3. No translation required
Disadvantages of Low-Level Language:
1. Not portable
2. Not programmer friendly

Introduction to Assembly Language:
Assembly or assembler language was the second generation of computer language. By the late 1950s, this language had become popular. Assembly language consists of letters of the alphabet. This makes programming much easier than trying to program a series of zeros and ones. As an added programming assist, assembly language makes use of mnemonics, or memory aids, which are easier for the human programmer to recall than are numerical codes.

Introduction to Assembler:
An assembler is a program that takes basic computer instructions and converts them into a pattern of bits that the computer's processor can use to perform its basic operations. Some people call these instructions assembler language and others use the term assembly language, In other words, An assembler is a computer program for translating assembly language essentially, a mnemonic representation of machine language into object code. A cross assembler (see cross compiler) produces code for one processor but runs on another. As well as translating assembly instruction mnemonics into opcodes, assemblers provide the ability to use symbolic names for memory locations (saving tedious calculations and manually updating addresses when a program is slightly modified), and macro facilities for performing textual substitution typically used to encode common short sequences of instructions to run inline instead of in a subroutine. 

Introduction to High-Level Language:
The introduction of the compiler in 1952 spurred the development of third-generation computer languages. These languages enable a programmer to create program files using commands that are similar to spoken English. Third-level computer languages have become the major means of communication between the digital computer and its user. By 1957, the International Business Machine Corporation (IBM) had created a language called FORTRAN (FORmula TRANslater). This language was designed for scientific work involving complicated mathematical formulas. It became the first high-level programming language (or "source code") to be used by many computer users. Within the next few years, refinements gave rise to ALGOL (ALGOrithmic Language) and COBOL (COmmon Business Oriented Language). COBOL is noteworthy because it improved the record keeping and data management ability of businesses, which stimulated business expansion.
Advantages of High-Level Language:
1. Portable or machine independent 
2. Programmer-friendly
Disadvantages of High-Level Language:
1. Not as efficient as low-level languages
2. Need to be translated
Examples: C, C++, Java, FORTRAN, Visual Basic, and Delphi.

Introduction to Interpreter:
An interpreter is a computer program that executes other programs. This is in contrast to a compiler which does not execute its input program (the source code) but translates it into executable machine code (also called object code) which is output to a file for later execution. It may be possible to execute the same source code either directly by an interpreter or by compiling it and then executing the machine code produced. It takes longer to run a program under an interpreter than to run the compiled code but it can take less time to interpret it than the total required to compile and run it. This is especially important when prototyping and testing code when an edit-interpret-debug cycle can often be much shorter than an edit-compile-run-debug cycle. 
Interpreting code is slower than running the compiled code because the interpreter must analyses each statement in the program each time it is executed and then perform the desired action whereas the compiled code just performs the action. This run-time analysis is known as "interpretive overhead". Access to variables is also slower in an interpreter because the mapping of identifiers to storage locations must be done repeatedly at run-time rather than at compile time. 

Introduction to Compiler:
A program that translates source code into object code. The compiler derives its name from the way it works, looking at the entire piece of source code and collecting and reorganizing the instructions. Thus, a compiler differs from an interpreter, which analyzes and executes each line of source code in succession, without looking at the entire program. The advantage of interpreters is that they can execute a program immediately. Compilers require some time before an executable program emerges. However, programs produced by compilers run much faster than the same programs executed by an interpreter. Every high-level programming language (except strictly interpretive languages) comes with a compiler. In effect, the compiler is the language, because it defines which instructions are acceptable. 

Fourth Generation Language:
Fourth-generation languages attempt to make communicating with computers as much like the processes of thinking and talking to other people as possible. The problem is that the computer still only understands zeros and ones, so a compiler and interpreter must still convert the source code into the machine code that the computer can understand. Fourth-generation languages typically consist of English-like words and phrases. When they are implemented on microcomputers, some of these languages include graphics devices such as icons and onscreen push buttons for use during programming and when running the resulting application.
Many fourth-generation languages use Structured Query Language (SQL) as the basis for operations. SQL was developed at IBM to develop information stored in relational databases. Examples of fourth-generation languages include PROLOG, an Artificial Intelligence language.
no image
The particular blog is related to C++ programming concepts. OOPs Class Function Operator overloading Inheritance Function Overloading
ExSeed books are very popular for school kids. ExSeed has now come out with an innovative idea of giving dynamic online practice quizzes.

Can you help them in solving one of their mathematical problems?

Given the coordinates of the lower left corner of the rectangle (x,y) and the length and breadth of the rectangle, find the coordinates of the 4 vertices of the rectangle.

Assume that the length and breadth of the rectangle are always even.


Input and Output Format:

Input consists of 4 integers.
The 1st integer corresponds to the x-coordinate of the left corner of the rectangle.
The 2nd integer corresponds to the y-coordinate of the left corner of the rectangle.
The 3rd integer corresponds to the length of the rectangle.
The 4th integer corresponds to the breadth of the rectangle.

The output consists of 8 integers.

The first 2 integers correspond to the x and y coordinates the lower left corner of the rectangle
The next 2 integers correspond to the x and y coordinates the upper left corner of the rectangle.
The next 2 integers correspond to the x and y coordinates the upper right corner of the rectangle.
The next 2 integers correspond to the x and y coordinates the lower right corner of the rectangle.

The x and y coordinates of each vertex should be printed on a separate line, separated by a, (comma).

Refer sample input and output for formatting specifications.


Sample Input:
7
6
4
2

Sample Output:
7,6
7,8
11,8
11,6


Program Code:
#include<stdio.h>
int main()
{
    int x, y, z, z1;
    scanf("%d %d %d %d", &x, &y, &z, &z1);
    printf("%d,%d\n",x,y);
    printf("%d,%d\n",x,y+z1);
    printf("%d,%d\n",x+z,y+z1);
    printf("%d,%d\n",x+z,y);
    return 0;
}
no image
The particular blog is related to C++ programming concepts. OOPs Class Function Operator overloading Inheritance Function Overloading
ExSeed books are very popular for school kids. ExSeed has now come out with an innovative idea of giving dynamic online practice quizzes.
Can you help them in solving one of their mathematical problems?
Given the coordinates of the center of the square (x,y) and the side of the square, find the coordinates of the 4 vertices of the square.
Assume that the side of the square is always even.

Input Format:
Input consists of 3 integers.
The 1st integer corresponds to the x-coordinate of the center of the square.
The 2nd integer corresponds to the y-coordinate of the center of the square.
The 3rd integer corresponds to the side of the square.
Output Format:
The output consists of 8 integers.
The first 2 integers correspond to the x and y coordinates the upper right corner of the square.
The next 2 integers correspond to the x and y coordinates the lower right corner of the square.
The next 2 integers correspond to the x and y coordinates the lower left corner of the square.
The next 2 integers correspond to the x and y coordinates the upper left corner of the square.
The x and y coordinates of each vertex should be printed on a separate line, separated by a, (comma).
Refer sample input and output for formatting specifications.

Sample Input:
7
6
4
Sample Output:
9,8
9,4
5,4
5,8


Program Code:
#include<stdio.h>
int main()
{
    int x,y,z;
    scanf("%d %d %d", &x, &y, &z);
    z=z/2;
    printf("%d,%d\n",x+z,y+z);
    printf("%d,%d\n",x+z,y-z);
    printf("%d,%d\n",x-z,y-z);
    printf("%d,%d\n",x-z,y+z);
    return 0;
}
no image
The particular blog is related to C++ programming concepts. OOPs Class Function Operator overloading Inheritance Function Overloading
Do the following operations using Bitwise operator. 

1) Right-Shift for a decimal number from 0 to 2. 
2) Left-Shift for a decimal number from 0 to 2. 

Input-Output format: 
Input consists of a number. 
Refer Sample Input/Output for Output format. 

Sample Input and Output I: 
Enter a number: 
2 
Right shift by 0: 2 
Right shift by 1: 1 
Right shift by 2: 0 
Left shift by 0: 2 
Left shift by 1: 4 
Left shift by 2: 8 

Sample Input and Output II: 
Enter a number: 
5 
Right shift by 0: 5 
Right shift by 1: 2 
Right shift by 2: 1 
Left shift by 0: 5 
Left shift by 1: 10 
Left shift by 2: 20 



Program Code:
#include<stdio.h>
int main()
{
int a;
printf("Enter a number:\n");
scanf("%d", &a);
printf("Right shift by 0: %d\n", a>>0);
printf("Right shift by 1: %d\n", a>>1);
printf("Right shift by 2: %d\n", a>>2);
printf("Left shift by 0: %d\n", a<<0);
printf("Left shift by 1: %d\n", a<<1);
printf("Left shift by 2: %d\n", a<<2);
return 0;

}
no image
The particular blog is related to C++ programming concepts. OOPs Class Function Operator overloading Inheritance Function Overloading
Memory Allocation: new and delete operators, dynamic constructor 

C++ provides two operators new and delete for dynamic memory usage. The new operator allocates memory from a free store while the delete operator returns the allotted memory to free store. For built-in types we use them as follows 
int * p, 
*arr ; 
p =new int; 
arr = new int[30]; 
delete p; 
delete [] arr; // we need not specify the size 
For user-defined types it is similar 
fraction *single, *vector; 
single = new fraction; 
vector = new fraction[30]; 


Thanks
Mukesh Rajput
no image
The particular blog is related to C++ programming concepts. OOPs Class Function Operator overloading Inheritance Function Overloading
Write a program to make a Calculator using C++ language.


Implementation of the above problem in C++:
#include<iostream>
using namespace std;
int main()
{
char c, operatr;
double operand1, operand2;
do
{
cout<<"Enter first number : ";
cin>>operand1;
cout<<"Operator :" ;
cin>>operatr;
cout<<"Second number : ";
cin>>operand2;
switch(operatr)
{
case '+' : cout<<"Answer="<<operand1+operand2;
break;
case '-' : cout<<"Answer="<<operand1-operand2;
break;
case '*' : cout<<"Answer="<<operand1*operand2;
break;
case '/' : cout<<"Answer="<<operand1/operand2;
break;
default : cout<<"invalid operator";
}
do
{
cout<<"\n Do another (y/n)?:";
cin>>c;
if(c!='y' && c!='n')
cout<<"invalid choice";
}
while(c!='y' && c!='n');
}
while(c == 'y');
return 0;
}

The output of the above program is tested on www.jdoodle.com
Output:
Enter first number : 2
operator : +
second number : 3
Answer = 5
Do another(y/n)?: y


Enter first number : 6
operator : *
second number : 3
Answer = 18

Do another(y/n)?: n


Thanks
Mukesh Rajput