• Given an IPv4 address and a subnet mask, compute:
• First & Last host address
• Implement the algorithm with at least 5 vertices
• Display a graph with random edge weights
• Calculate BMI with required parameters and display result
• Generate a colored graph and put user BMI on graph
• Create a visualization for at least 3 sorting algorithms of your choice
• Using sleepsort as one is not advised
• Take a string (<64 characters) and return some large respresentation of it in whatever text format
• Make it have nice kerning
• Count the occurences of one string in a larger string or file
• Generate a random tornado in ASCII/Unicode
• Create your own small assembly-like language
• Have a VM to run it
• Make a simple text-based game with it
• Change from one currency to another
• At least 5 currencies
• Get live exchange rates for all currencies from online
• Implement binary search on already sorted array or tree
• Must work for integers and strings
• Sort the data structure
• Work with arbitrary values
• Take string and int as input, and return array of strings with no single element longer than passed int
• Correctly hyphenate the words if needed
• Support at least 2 image formats
• Place 8 queens on a chessboard so that no queens threaten each other
• Create a simple pool game with 15 balls + cue
• Create a non-empty program that prints its own source code without looking at source file
• Implement a mathematical expression evaluator with the 6 order of operations
• eg. "7+5*(3^2)-(5/0.5)" = 42
• Allow shorthand multiplication
• eg. "(3)*(7)" is the same as (3)(7)
• Take a string and a delimiter, and tokenize it by splitting it at every instance of the delimiter
• Take a month and year as input and output the month with days labeled
• Create a text version of Minesweeper with custom dimensions (max 10)
• Make a nice GUI for it
• Add the following features
• timer to count ongoing time
• scoreboard
• flagging capabiltiy
• Extend to max dimension 200
• Given an input, n, generate the n-th triangle number
• Print out the corresponding triangle
• Input 2 rectangles (however you want), check if they overlap, and if they do, calculate the overlapping rectangle
• For a given n, calculate the n-th level of Pascal's Triangle
• Print out (nicely) the trianglular shape with n levels
``````
function NthPascalRow(n){
//n is 0-indexed. func(0) = "1";
var str = "";
for(var i = 0; i n -1){return 0;}

return recursiveNchooseK(n-1,k-1)+recursiveNchooseK(n-1,k);
}
``````
• Given 2 dates in a format chosen by you, calculate the difference between them and display in a human-readable format
• Extend to allow a variety of dates
• Play Rock, Paper, Scissors with 2 human inputs
• Take a 12h or 24h and turn it to ASCII/Unicode art
• Make sure timezone is correct
• Make a GUI
• Generate and display a Sudoku puzzle (deterministically) with a given seed
• Remove a 'random' number of elements according to a supplied difficulty level
• Sidenote that the minimum number of elements that must be shown are 17 for a unique Sudoku solution
• Given a Sudoku puzzle, solve it algorithmically
• Implement a simple game of pong
• Create your own version of Tanks (or Scorched Earth)
• Calculate overlapping strings (long and short overlaps)
• Make it O(n)
• Apply a matrix to an image and generate a new image
• Make it multi-threaded
• Implement at least one of the ciphers in the list below
• Make sure you have a decipher tool as well
• Make your own MS Paint!
• Features:
• Color picker
• Line Tool
• Circle Tool
• Rectangle Tool
• Erase Tool
• Implement a way to hide and extract data from an image file
• Given a directory, recursively search its subdirectories
• Find the smallest and largest file and print full path + size
• Make your own analog clock display
• Given an input, n, create an n x n board and create a crossword puzzle
• Given a string, check if it's a palindrome
• Worst runtime should be O(n/2)
• Take a filepath and string as input, then display the contents of the file center/right/left justified
• Make your own old school demo effect
• eg. tunnel, plasma, scrollers, zoomers
• Pretty simple
• Make an AI to play against
• Given a config file (containing all settings required), and a string, output the "enigma"-ed string
• Calculate the first 1000 digits of Pi
• Given a set of options (length, character bank), generate and output a password
• Given coefficients and axis range, plot a function of your choice with the prior corresponding arguments
• Plot the derivatives (first and second if exist)
• Long explanation, check the wiki link below
• Make a solver for a given puzzle
• Display a rotating 3D cube
• Perspective projection is one way, but not limited to this
• For a given string or file, count the number of words in it
• Extend functions to count lines, sentences, paragraphs, etc.
• Given a seed, deterministically generate a Voronoi diagram
• Make your own Tetris clone
• Given an input, N, generate a sequence of legal knight moves on an NxN board
• Brute force is not a good idea for large N ( >8)
• Convert from one unit to a chosen another
• Convert from at least weight, area, length
• Implement some simple chat system using TCP
• Add an encryption layer
• Pick a random number, take input until user guesses correctly
• Given a vector of integers, create a multidimensional array
• The leftmost (first) int is the top level array
• [2 3] would return something like (with 0 as placeholder)
• | 0 0 0 |
• | 0 0 0 |
• Generate a Sierpinski triangle and display it
• Methods of generation are in the wiki link
• Generate an MxN maze and then solve it
• Given two strings, output if they're anagrams
• Make some sort of sound output according to some input
• GUI would make it easier to test options if possible
• Display a Mandelbrot Set and allow zoom
• Given a string, output the Morse code string
• Generate a Sliding Puzzle with 15 pieces with moveble pieces
• Create a scientific calculator
• Generate a random name (first, middle, last)
• Add an option to change ethnicity
• Given some data, get Benford's law percentages
• Make a nice bar graph display with the digits
• Given a timestamp, convert it to your local time, and display it
• Given some required parameters, create and display Perlin or Simplex noise
• Create and display (or save) an Ulam spiral
• Given some content, and a selection of a pre-defined template, render the choices to HTML/CSS
• At least 2 templates
• Make templates easily editable so one can add onto it
• Given an input in postfix, verify the correctness and execute it
• Allow input in regular order of operations and parse into RPN
• Given a numerical input, reverse and display it using whatever methods you want
• Don't convert the number to a string. Use Math!
• Given an input, check if it satisfies Luhn's
• Create a 2D polygon with the ability to scale and rotate
• Create a common object with multiple polygons
• Allow 3D
• Create and display a cellular texture
• Given a radius, draw a circle in using ASCII characters
• Colorize it, with separate fill and edge colors
• Given 3 numbers, convert the given number from the given base to the new given base
• Base range is from [2,16], both inclusive
• Eg.
• 15,10,2 -> 1111
• 1111,2,16 -> F
• Create a solitaire copy, text based or visual
• Implement your own double linked list
• Implement the following methods with correct time-complexity
• Using Java-like syntax to be clear on types
• S := size of list
• int size() - O(1)
• String toString() - O(n)
• String toStringRev() - O(n)
• bool add(E el) - to end of list - O(1)
• bool add(int h, E el) - insert into index h - O(min(h,S-h) )
• E get(int h) - O(min(h,S-h) )
• set(int h, E data) - O(min(h,S-h) )
• E remove(int h) - remove el at ind h - O(min(h,S-h) )
• Implement Dijkstra's algorithm with at least five nodes
• Create a Columns or coloris game
• If you make it text-based, careful with "frames" so it doesn't look shit
• Given a number, find the factorial of it
• Load an image file, flip/mirror/rotate it randomly, save to a new file
• Given an end point, construct a sieve
• Make it multi-threaded
• Create a hangman game
• Create a Tower of Hanoi game and solve it
• Create and display the first 100 numbers of the sequence
• Given 3 inputs, convert a given temperature from a given unit to another given unit
• Create a level viewer for any game you want
• Make it able to scroll through certain levels in a game
• Basic TCP simulator which uses handshakes, data sending, closing
• Simulate retransmissions, OOB data, window scaling, etc
• Given an int, convert it to the English word representation (0<n<1,000,000)
• Make a "chat" system between two programs run locally on same computer
• Any methods are legal but they must be different processes
• Allow communicating in same LAN connection on different computers
• Create Conway's Game of Life!
• Also add other cellular automata
• Implement a natural order sort for data structure of your choosing
• eg: abc1, abc2, abc20, abc20...; not abc1, abc10, abc2, abd20..
• Given the appropriate parameters, calculate the wind chill
• Split an image into squares using a quadtree,
• hint : mean squared error
• Given an array of edges, construct an Eulerian path
• Create a typing speed calculator
• Given a number, display the hailstone sequece of it
• Multiply two random 100-digit numbers, display the result
• Create a raycaster engine with customizable maps (can be ASCII format)
• Add textmapped floors and ceilings, sprites, and lighting