October 17, 2015
GMU cs112 solution

This semester you will be writing a program that models elements of recognizing and creating characters. Optical character recognition is an important area of research that allows photographs or printed documents to be digitized; by doing so, these documents are made available for machine-based searching. On the flip side, http://en.wikipedia.org/wiki/CAPTCHAis a system for differentiating between humans and computers: the goal here is to generate a non-machine readable image that a human could identify. CAPTCHA helps reduce the amount of spam on the Internet.

We will implement a highly limited type of image matching, processing, and creation this semester. Rather than write this project at once, we will break the project down into several two-week sub-projects that are due throughout the semester. The rest of this document will detail the first such assignment.


  • None at this time

This final assignment will ask you to write some code that will help you determine if a pixel is part of a number. You will need to copy your project 3, 4, and 5 solutions into the same directory where you save your files for this project.

You will have to do the following for this assignment:

  • Complete the methods of the Banner class.
  • Write a main function in a file called project5.py.

October 11, 2015
b+ tree implementation

Ueditor1.4.3 for wordpress3.9.2


In this project, you will implement a B+-tree in which each node contain entries of the form [key, ptr] and some required header information. In the leaf node, ptr is the pointer pointing to the record id of a data record with search key value, and in the non-leaf node(index node), ptr is the pointer pointing to the child node which may be index or leaf node. Since we are not implementing data file layer in this project, we will keep all leaf node pointers NULL. You must implement the full search and insert algorithms as discussed in class. In particular, your insert routine must be capable of dealing with overflows (at any level of the tree) by splitting pages. Keys should be stored in sorted order. Deletes will be handled by simply deleting the key and pushing the remaining keys in the node. You do not need to implement merging of nodes on deletes. But, you do need to keep all nodes updated without any holes when records are deleted(i.e, when you delete a key you need to push next keys so that there won’t be any empty key in between two keys in the node)

You will be given header files (“*.h” files), which contain prototypes of all classes required for this project. You need to implement member functions for each class in .cpp file. Main classes required areBtreeNode, BtreeLeaf , BtreeIndex, BtreeScan and BtreeBuilder. BtreeLeaf and BtreeIndex are derived from BtreeNode which provides the basic structure for these nodes in B+-tree. BtreeBuilderwill build the B+-tree with the help of BtreeLeaf and BtreeIndex. BtreeBuilder will keep track of root and updates root when ever the level of the tree is increased. BtreeScanclass is used for scanning the B+-tree based on given range of keys.

October 6, 2015
Socket Programming

CSEE 4119: Computer Networks, Fall 2015
Programming Assignment 1: Socket Programming
Due October 8th
Academic Honesty Policy
You are permitted and encouraged to help each other through Piazza’s web board. This only
means that you can discuss and understand concepts learnt in class. However, you may NOT
share source code or hard copies of source code. Refrain from sharing any material that could
cause your source code to APPEAR TO BE similar to another student’s source code enrolled
in this or previous years. Refrain from getting any code off the Internet. Cheating will be
dealt with severely. Cheaters will be penalized. Source code should be yours and yours only.
Do not cheat.
1. Introduction
In this assignment, starting from the simplest chat functionalities, you will develop more
comprehensive servers for messaging applications, including elementary security features and
current state of the chatroom.
This will require that various processes in different machines
are able to work with each other, and recuperate in case of asynchronous messaging and
failure. This chat program is based on a client server model consisting of one chat server and
multiple chat clients over TCP connections. The server is mainly used to authenticate the chat
clients and direct the chat messages to one another. Besides, the server also has to support
certain commands that the clients can use. Detailed specifications of the functionalities are
given under Section 2.
2. Specifications