Skip to main content

Std X - CA Projects - 2014-15

Hello guys! 
Here are your projects for the board exams in CA for the year 2014-15. Each project must be 

  • User-friendly (proper prompts and announcements to the user and good error-handling)
  • Reader-friendly (documentation in code about what each class, method, data member is for or does)
  • Generic (should apply to as many cases within the problem as possible, in other words assume the least)
  • Object-Oriented (instead of making one long class, make many classes to properly hide data and keep things simple)
  • It must be compiled as an app (albeit CUI-based) to run on any windows system. Different compiles may be needed for 32-bit and 64-bit systems. 
You can team up in numbers up to 3 for each project, singles are also allowed. You get a week from this announcement to submit the source code and its compiled object code in a zip file (which includes any special libraries you may have created / used) as an email to me. 

A. Spy Messenger - This app should be able to encode and decode messages using any of the methods given below. The app if used by the encoding spy should allow him to convert the message into a cryptic one using the method of his choice. Then he can pass the message by normal (not in the app) means to the other party. (say email / sms / ...) The decoding spy should be able to try different methods to decode the message back to its original form.
  1. Caesar Cipher - Take a sentence and shift each syllable by a certain number of positions in the alphabet to create the encoded message. i.e. if shift is to be done by +2, then A becomes C, B becomes D and Z becomes B. If the shift is a -1 then, A becomes Z, B becomes A and Z becomes Y. Spaces and other punctuation is to be left untouched.
  2. Null Cipher - Introduce a null letter (i.e. dummy letter) between each nth syllable as defined by the encoder. So "This is Nice" with a null "e" after every 2 letters becomes "Theise ise Niecee".
  3. Number Cipher -  Each letter becomes a certain number as defined by the encoder. The sequence of numbers follows through the alphabet. So, if user specifies 56, A becomes 56, B becomes 57 and so on. To differentiate between alphabets, each alphabet is followed by a hyphen (-) and the punctuation marks are totally removed. (The decoder can interpret) Hence is user specifies 1, "Hello guys!" becomes "8-5-12-12-15-7-21-25-19" 

B. Catch-Me-If-You-Can - This app is a small game of dice where both players are walking on a path after starting from the same point. Both throw dice in turn and move as many number of steps as the dice indicates. Naturally one player is ahead of the other. If the player A is behind player B and if player A covers the same number of total steps as B then player A wins. (A caught-up with B) If player B finishes the path (certain number of pre-defined steps, say 50) before A can catch up, then B wins. The game may get over within a few steps or go on for many as per the dice being thrown. Either  player should get a chance to throw their dice, i.e. it gets thrown only when a player types in a command (say "throw"). After this play, the player gets a notice about the positions of both players and if any has won.

C. Number Systems Calculator - This app helps the user (who is apparently a CA student) to convert numbers between different number systems, i.e. Binary, Octal, Decimal and Hexadecimal. So the user enters the number, the system in which the number is and the system to which to convert to. The calculator then does the conversion and responds with the answer.



Comments

All Time Popular Posts

Annual Day 2023

 After a long hiatus due to covid we finally got most activities on track. The Annual Day function is always a big deal for everyone at Abhinav. It has been a tradition my mother started that the Annual Day will be not a Teacher-managed event, but a Student Initiative. Since when I was a teenager, I was part of this and today 10 years after she passed, I still strive to make it work as she would have. After some hesitation, we began working in early January. I wanted to use an outside choreographer just so that teachers will not be burdened. (They are already struggling with post-covid learning difficulties) But then, an outside guy could never do justice to the Abhinav style of doing things. We always keep in mind that the cultural program should be enjoyable to everyone in the audience and at the same time should display as many of the diverse talents that our students have, as possible.  It was a great relief that my G3 students came to the rescue. Almost all of std 9 and m...

Trapping events - IT assignment for Std XI

Perform these tasks on your PC and give yor answers as comments to this post or as an email to my ID - director@abhinav.ac.in . What is the sequence for the events given below and when do they occur for the given object? a) Textbox - Change, KeyPress, KeyDown, Validate b) Command button - Click, GotFocus, LostFocus, KeyPress c) Combo Box - Change, Click, DblClick, DropDown, Scroll Draw an equilateral triangle (should actually look like it) whose one vertex is the point at which the user clicks on the form. Make a simple calculator which has buttons for different numbers & operations (+, -, *, /, ^) and a box to display the result of each operation as well as each number being typed.

Expression Calculator in Java

Std X CA students: Here is another assignment to be finished before Thursday 24th Apr, 2014, 8 am. Reverse engineer the application I have posted at the FB group - Expression Caculator . i.e. 1. download the file and save in the root of c-drive 2. run it in command prompt using "java -jar c:\exprcalc.jar" 3. enter various expressions to compute like 2 + 3 = (then enter) 4. once you type '=' and a white space and enter, it displays the result. 5. You can take a long expression like 7.5562 / 7.889 + 5 - 12.67 = (then enter) 6. You can type another expression after the result for the previous is shown. 7. It also handles errors well. Figure out the code and paste your answers here as a comment. Hint: It uses a blank for loop ... i.e. for (;;) { here goes the code }to repeat taking many numbers one after the other.