Programming skill can be developed only by thinking and practicing. At the initial stage, students need to code large number of smaller programs preferably in C language without using IDEs in Linux platform. Advantage for students: i) students get familiar with linux platform, ii) proficiency in using keyboard and typing ii) no distraction and they focus only on their code

To enable students to code anytime and anywhere, a virtual Linux machine has been provided from BIT Cloud Resources. The details are **IP Address:** 121.200.55.60 **ssh port address:** 3322 **username:** enrollment number for first year students eg. 2019UIT1065, staff id for staff members eg. IT1025. **password:** dob in the format dd-mm-yyyy. Login is available for all teaching, non teaching and first year students of IT,CSE,ISE,CT,CSBS departments. You may connect to the linux machine through chrome browser ssh addon or putty client (windows) or linux shell prompt or windows command prompt

problems for practicing

- Output "Hello BITSathy" text to console screen
**: Problem ID 8-Console Input and Output** - Accept "Hello BITSathy" text from keyboard, store the string in a variable and output to console (along with memory address of each character)
**: Problem ID 9-Console Input and Output** - read "Hello BITSathy" text from a file, store the string in a variable and output to console (with memory address of each character)
**: Problem ID 10-Console Input and Output** - Accept 10 numbers from keyboard, store them in integer array and output the content along with memory address
**: Problem ID 11-Console Input and Output** - Read 10 numbers from a text file, store them as integer in an integer array and output them to console screen along with memory address.
**: Problem ID 12-Console Input and Output** - Accept n numbers from keyboard, store them in an integer array and output the same at once. Additonal Requirement: Only n integer memory location is to be used i.e. if n=10, only 10 memory location is to be used. if n=60, only 60 memory location is to be used.
**: Problem ID 39-Console Input and Output** - Compute the distance to be travelled by a 40 meter train to completely pass through a bridge of length 80 meters.
**: Problem ID 1-Arithmetic Operations** - Compute the average speed of a person in kmph who travels the first 50 km at a speed of 40 kmph and the next 50 km at a speed of 60 kmph.
**: Problem ID 4-Arithmetic Operations** - Derive a formula and compute the number of seconds taken by two trains of length 200m each travelling at speeds 36kmph and 72kmph for crossing each other.
**: Problem ID 5-Arithmetic Operations** - Compute the sum of first n integer numbers
**: Problem ID 16-Arithmetic Operations** - For the given radius, compute the area and volume of cone and circle
**: Problem ID 19-Arithmetic Operations** - Compute the area of a given rectangle
**: Problem ID 47-Arithmetic Operations** - Compute the output of these programs: p1 & p2
**: Problem ID 75-Arithmetic Operations** - Find the greatest of three given numbers x,y and z.
**: Problem ID 14-Conditional Statements** - Finding whether the given number is odd or even
**: Problem ID 20-Conditional Statements** - Determine whether the given input character is an alphabet or a number.
**: Problem ID 36-Conditional Statements** - Calculate electricity bill amount for the given units.
**: Problem ID 54-Conditional Statements** - Compute the grade letter for the given mark
**: Problem ID 55-Conditional Statements** - Compute the income tax amount for the given net salary for an individual
**: Problem ID 56-Conditional Statements** - Find the greatest of two given numbers.
**: Problem ID 67-Conditional Statements** - Compute the factorial of a given number using looping statements.
**: Problem ID 2-Looping Statements** - Write a program to display the number 1 to 100 in console output screen.
**: Problem ID 6-Looping Statements** - Display the odd numbers in the range 1 to 100
**: Problem ID 7-Looping Statements** - Display multiplication table of x-table where x is the input given by the user.
**: Problem ID 13-Looping Statements** - Accept 10 integer numbers from user and check whether any of them is equal to 23.
**: Problem ID 15-Looping Statements** - Compute the sum of given set of integer numbers
**: Problem ID 17-Looping Statements** - Compute the sum of digits of a given integer number.
**: Problem ID 18-Looping Statements** - Compute the sum of ASCII values of the given string
**: Problem ID 23-Looping Statements** - Compute the Harmonic Mean, Arithmetic Mean and Geometric Mean of given set of n integer numbers
**: Problem ID 33-Looping Statements** - Write a computer program to display integer numbers between two given integer numbers.
**: Problem ID 38-Looping Statements** - Enumerate the Hailstone sequence for the given number.
**: Problem ID 49-Number Magic** - List all the 3 digit armstrong numbers.
**: Problem ID 50-Number Magic** - Determine whether the given integer is taxicab number or not.
**: Problem ID 51-Number Magic** - Find all the kaprekar numbers between 1 and 1000.
**: Problem ID 52-Number Magic** - List the first 1000 prime numbers
**: Problem ID 53-Number Magic** - Write a program to print the following: 122333444455555
**: Problem ID 43-Nested Loops** - Accept 10 numbers from keyboard and output them in ascending order
**: Problem ID 44-Nested Loops** - write programs to print the patters (refer doc) in the console screen.
**: Problem ID 48-Nested Loops** - List all divisors of given integer input
**: Problem ID 37-Conditional and Looping Statements** - Find the greatest of 10 numbers
**: Problem ID 41-Conditional and Looping Statements** - Find whether a given number is present in an array of numbers.
**: Problem ID 46-Conditional and Looping Statements** - Find the largest cell value of given matrix
**: Problem ID 25-Arrays** - Compute the sum of cell values of given matrix
**: Problem ID 26-Arrays** - Compute addition and subtraction of two matrices and output the resultant matrix.
**: Problem ID 27-Arrays** - Multiply two matrices and output the resultant matrix
**: Problem ID 28-Arrays** - Compute the determinant of 2x2 matrix
**: Problem ID 29-Arrays** - Write 1000 random integer integer numbers in the range of 0 to 25000 in a file named data.txt
**: Problem ID 35-Files** - Find the greatest of 100 given numbers
**: Problem ID 42-Files** - Write "Hello BIT Sathy" in a file.
**: Problem ID 57-Files** - Write a command to generate an integer dataset of 10K numbers. The name of the dataset file is the only input parameter (command line arguments) to the command.
**: Problem ID 60-Files** - Write a function to return sum of digits of given integer number.
**: Problem ID 68-Functions** - Compute the factorial of a given number using recursion
**: Problem ID 3-Recursion** - Compute nth Fibonacci Number using Recursion
**: Problem ID 31-Recursion** - Accept n inputs through command line arguments and print them all.
**: Problem ID 58-Command Line Arguments** - For the given set of integer numbers, remove the duplicates and output the distinct numbers.
**: Problem ID 24-Beginners Problems** - Sort the given of integer numbers and output them in ascending order.
**: Problem ID 34-Beginners Problems** - Accept a string from keyboard and print the reverse.
**: Problem ID 40-Beginners Problems** - Write a computer program to output combinations of a given set of elements. Refer doc for an example
**: Problem ID 45-Beginners Problems** - write a command (accepts the input dataset file name as input parameter) to compute number of times a given integer occur.
**: Problem ID 61-Beginners Problems** - List all possible combination of two characters and total number of strings that contain them (Details).
**: Problem ID 73-Beginners Problem - Category 2** - List all possible combinations of two strings and total number of common characters between them (Details).
**: Problem ID 74-Beginners Problem - Category 2** - Compute the total number of male, female and unique names in namelist dataset. Depending on the level of efficiency (will be assessed through code review in person), reward points in the range of 25 to 600 may be claimed.
**: Problem ID 63-Intermediate-Level Problems** - Compute the maximum and minimum number of this dataset
**: Problem ID 69-Intermediate-Level Problems** - Ramu and Somu started walking at 10.00AM at the speed of 2 rounds per hour and 3 rounds per hour respectively on a circular track. Compute the number of times they cross each other before 11.30AM.
**: Problem ID 21-Mathematics** - Ramu beats somu by 22.5 meters in distance / 6 seconds by time in a 300m race. Compute the time taken by somu to complete the race.
**: Problem ID 22-Mathematics** - Compute the eigen vector of given stochastic matrix using power method.
**: Problem ID 30-Mathematics** - Ramu's office is 60km away from home. Ramu travels first 30 kms at the speed of 30kmph by his bike and the rest at the speed of 60kmph by his friend's car. Compute the average speed.
**: Problem ID 32-Mathematics** - Analyze the code and identify the functionality
**: Problem ID 59-Code Analysis** - In this schema, it would be better if one of the attributes is linked by primary key-foreign key relation. Find out the attribute and modify the schema.
**: Problem ID 62-Database Schema Analysis** - Convert the dataset to this specific format.
**: Problem ID 64-Dataset Format Conversion** - create a relational database table with a single attribute containing the first 200 even numbers.
**: Problem ID 98-SQL Query Design** - Identify the functional difference between the two queries
**: Problem ID 65-Query Analysis** - Design and develop a tool ( using C / Java / Python) to generate a random graph dataset.
**: Problem ID 95-Graph Theory** - Enumerate all maximal bicliques of given bipartite graph dataset. (Depending the level of efficiency, reward points in the range of 100-600 may be claimed).
**: Problem ID 96-Graph Theory** - Retrieve Data from a Relational Database (mariadb / mysql) using JDBC DriverManager
**: Problem ID 70-Database Connectivity** - Create a normalized database design for this table and write an utility to populate respective data.
**: Problem ID 72-Dictionary Application** - Modify the schema to store usage sentences for each meaning and populate with data.
**: Problem ID 88-Dictionary Application** - Develop a front-end interface (with ajax) to accept word as input and display the respective meaning and usage sentences. Also, push the application to github.
**: Problem ID 89-Dictionary Application** - Generate PDF / Jasper Report listing words and meaning.
**: Problem ID 90-Dictionary Application** - Deploy the application in a docker image and upload them in docker hub.
**: Problem ID 91-Dictionary Application** - Design a database schema for role management system for an enterprise software system.
**: Problem ID 100-Role Management System** - Design a database schema to store employee personal data for an organization. Detailed list of requirements is available here .
**: Problem ID 71-Application Development for Employee Management System** - Extend the schema to include the following functional components: Employee Attendance, Leave and Payroll
**: Problem ID 92-Application Development for Employee Management System** - Design and Develop a complete application and push them to github.
**: Problem ID 93-Application Development for Employee Management System** - Containerize the application and its dependencies in a single docker image.
**: Problem ID 94-Application Development for Employee Management System** - Design a database schema to store student personal and course details.
**: Problem ID 97-Student Data Management System** - Design a database schema to store university regulation and curriculum details.
**: Problem ID 82-University Curriculum Management System** - Design a database for purchase and inventory managmenent system for an enterprise.
**: Problem ID 99-Purchase and Inventory System** - Write a computer program to retrieve data from an URL.
**: Problem ID 101-Network and HTTP Programming** - Analyze this worksheet and generate data for y3. (Data in Sql)
**: Problem ID 83-Financial Accounting System** - Design a database schema to store and retrieve financial data (ledgers, transactions) and financial statements (ledger account reports, trial balance, income-expense statement and balance sheet).
**: Problem ID 84-Financial Accounting System** - Implement the financial accouting system schema, populate three years data, design queries to generate the financial statement reports and verify the report correctness.
**: Problem ID 85-Financial Accounting System** - Design and develop a web based application with necessary authentication and authorization to enter Y4 data and to view the necessary reports. Push the application to github
**: Problem ID 86-Financial Accounting System** - Create a linux server inside docker with necessary softwares (java app server, web server and database server), deploy te application and upload runnable containerized image in docker hub.
**: Problem ID 87-Financial Accounting System** - Design a data model architecture to manage employee and department profile data for an organization.
**: Problem ID 102-Employee & Department Profile Data Management** - Given a string S and a set of words D, find the longest word in D that is a subssequence of S. word W is a subsequence of S if some number of characters can be removed from S to form W. For eg. S="abppplee" D={"able","apple","bale","tiger"} the answer is apple.
**: Problem ID 66-Google Challenge (Google Interview Questions)**