SlideShare a Scribd company logo
2
Most read
Computer System and Programming
Semester Project
Instructions:
Given below are some ideas that you can choose as your semester project. The semester project
can be done individually or in groups. The number of group members should be
proportional to the difficulty of the project.
If you have any other ideas for the project, then feel free to run it by Sir Jahan Zeb or me first.
The following two points are paramount for the project that you will submit:
a. The code should be well commented and indented.
b. Every member must have proper understanding of the code.
The submission deadline for the project is 3rd
of February, 2017. At the time of submission,
there will be a demo of the project and a viva will be conducted alongside it. Project can also
be submitted beforehand if you complete it before the deadline.
The difficulty level, the number of group members and the
quality of the code will determine the final score of the
project.
In case that you find something to be confusing, feel free to ask me.
Project 1:
One method of encoding messages is known as the "expanding square code". This method
encodes a message by placing the character of the message in an odd order square matrix row
by row, and then retrieving them in a clockwise expanding square spiral from the centre of the
matrix. If the message is not exactly the right length to fill the matrix, the rest of the matrix is
filled with asterisk characters (*). For example, the two square matrices below show the order
in which the characters are placed in the matrix, and the order in which they are retrieved.
Notice that the order of retrieval begins at the centre, then proceed to the right, and then spirals
clockwise.
Order In
1 2 3 4 5
6 7 8 9 10
11 12 13 14 15
16 17 18 19 20
21 22 23 24 25
Order Out
21 22 23 24 25
20 7 8 9 10
19 6 1 2 11
18 5 4 3 12
17 16 15 14 13
Message In: "This is a test message!!"
Message Out: "stssees a a*!!egmtiThis "
Your program must be able both to encode and to decode messages by this method. A few
things to keep in mind are:
1. There is no defined length of the message.
2. File handling (i.e. saving the encoded message to a text file and reading an encoded
message from the text file) can be added to the project as an added bonus.
Project 2:
This game is very similar to the popular Battleship board game. The game starts with each of
two players placing 5 boats on their own 10x10 grid. Each boat must be placed either vertically
or horizontally on a grid and no boat can overlap another. The boats’ lengths and point values
are as follows:
Carrier – 5 units long, 1 unit wide, 1 point
Battleship – 4 units long, 1 unit wide, 2 points
Frigate – 3 units long, 1 unit wide, 3 points
Submarine – 3 units long, 1 unit wide, 4 points
Minesweeper – 2 units long, 1 unit wide, 5 points
After both grids have five boats positioned on them, each player, starting with the first, takes
turns guessing where the opponent’s ships are on their grid. If the guessed coordinates of the
opponent’s ship is correct, a hit is scored. Only when every piece of a ship has been hit will it
be considered sunk. The game ends after an undetermined number of turns are taken. The
player with the most points wins the game. Points are rewarded only for sunk ships. If the
number of points is equal, the player with the most hits wins. If both players have the same
number of points and hits, the game is a true tie and there is no winner (regardless of total ships
sunk).
A few things to keep in mind are:
1. Graphics (nothing fancy) can be added to make a good UI.
2. File handling (i.e. reading the initial position of the ships, the sequence of the guessed
coordinates etc.) can be added to the project as an added bonus.
Project 3:
Morse code is a sequence of dashes and dots that can be used to represent a message in English.
Each letter in a particular alphabet is represented by a unique pattern of dashes and dots in
Morse code. You can find more details about the Morse code on Wikipedia.
In this project, your job is to create a code that can convert an English string into Morse code.
Then you can either beep the message or flash it (using any graphics library).
Your code should also be able to convert Morse code into English text. (You may not be able
to do it directly. Look up Quinary Form of Morse Code.)
A few things to keep in mind are:
1. Graphics (nothing fancy) can be added to flash the Morse code.
2. File handling (i.e. saving the Morse code in a text file and reading the Quinary form from
a text file.) can be added to the project as an added bonus.
Project 4:
John loves to find words in a 2D puzzle of letters but isn’t very good at it. In this project, you
can write a programme that helps him do so.
The program starts with a 2D grid of 9x9 with randomly generated letters. Then John will type
in a letter to check whether it exists in the grid or not. As an example:
A F M B N D L O D
C F J K W I T C I
D F C O L L E G E
G K M R F D I B O
F C F L J I W Q C
F I A N C U O L F
Q R O T R B C M I
I L I E W Q T N X
S L A F J L I K E
Now, if the John enters CAT, then your program should be able to tell whether it exits in the
puzzle or not. Similarly, if COLLEGE is entered then the program should do the same.
The word can either exist in a straight line or in diagonal.
A few things to keep in mind are:
1. Graphics (nothing fancy) can be added encircle the word if it exists in the puzzle.
2. File handling (i.e. reading a 2D puzzle from a text file) can be added to the project as an
added bonus.

More Related Content

PDF
Countries and their Official Languages
DOCX
Strings and encodings
PDF
Data types
PPTX
RecruitingCampaign-Deck v6
PDF
Cert Bus II
PDF
El Arandano
PPT
концепція.нова школа
PPTX
Bank of india
Countries and their Official Languages
Strings and encodings
Data types
RecruitingCampaign-Deck v6
Cert Bus II
El Arandano
концепція.нова школа
Bank of india

Similar to c++ Project list (20)

PDF
NTUT Information Security Homework 1
PDF
Car removal gold coast
PDF
Cse dbinary
ODS
AKS Computing Schemes of Work 201314
DOCX
Discussions In your own words (75-150 words)Due Sunday, May .docx
PDF
How to quickly make flashcards
DOCX
The complete srs documentation of our developed game.
PDF
Pointers In C
PDF
Pointers In C
PPTX
Mastering Python lesson3b_for_loops
PDF
C and CPP Interview Questions
PPTX
Design Patterns- Course for students .pptx
PDF
Pointers
PDF
Pointers c imp
DOCX
Connect2Console AFG Assignments 1-10
PDF
scratch-3-tutorial.pdf
DOCX
Bca1020 programming in c
NTUT Information Security Homework 1
Car removal gold coast
Cse dbinary
AKS Computing Schemes of Work 201314
Discussions In your own words (75-150 words)Due Sunday, May .docx
How to quickly make flashcards
The complete srs documentation of our developed game.
Pointers In C
Pointers In C
Mastering Python lesson3b_for_loops
C and CPP Interview Questions
Design Patterns- Course for students .pptx
Pointers
Pointers c imp
Connect2Console AFG Assignments 1-10
scratch-3-tutorial.pdf
Bca1020 programming in c
Ad

More from NUST Stuff (20)

PDF
Me211 1
PDF
Lab LCA 1 7
PDF
Me211 2
PDF
Me211 4
PDF
Me211 3
DOCX
Drag force on a sphere in yield stress fluid
PDF
Nums entry test 2017 paper
PDF
Nums entry-test-new-syllabus-mbbsc-bds
PDF
MCAT Full length paper 8-student_copy_
PDF
MCAT Full length paper 7-student_copy_
PDF
MCAT Full length paper 6-student_copy_
PDF
MCAT Full length paper 5-student_copy_
DOC
Mcat (original paper 2014)
PDF
MCAT Full length paper 4-student_copy
DOC
mcat (original paper 2013)
DOC
mcat (original paper 2012)
DOC
MCAT Full length paper 3 final
DOC
MCAT (original paper 2011)
DOC
mcat (original paper 2010)
PDF
MCAT Full length paper 1 (student copy)
Me211 1
Lab LCA 1 7
Me211 2
Me211 4
Me211 3
Drag force on a sphere in yield stress fluid
Nums entry test 2017 paper
Nums entry-test-new-syllabus-mbbsc-bds
MCAT Full length paper 8-student_copy_
MCAT Full length paper 7-student_copy_
MCAT Full length paper 6-student_copy_
MCAT Full length paper 5-student_copy_
Mcat (original paper 2014)
MCAT Full length paper 4-student_copy
mcat (original paper 2013)
mcat (original paper 2012)
MCAT Full length paper 3 final
MCAT (original paper 2011)
mcat (original paper 2010)
MCAT Full length paper 1 (student copy)
Ad

Recently uploaded (20)

PDF
What if we spent less time fighting change, and more time building what’s rig...
PDF
ChatGPT for Dummies - Pam Baker Ccesa007.pdf
PDF
IGGE1 Understanding the Self1234567891011
PDF
CISA (Certified Information Systems Auditor) Domain-Wise Summary.pdf
PDF
Chinmaya Tiranga quiz Grand Finale.pdf
PDF
Indian roads congress 037 - 2012 Flexible pavement
PPTX
202450812 BayCHI UCSC-SV 20250812 v17.pptx
PDF
FORM 1 BIOLOGY MIND MAPS and their schemes
PPTX
TNA_Presentation-1-Final(SAVE)) (1).pptx
PPTX
B.Sc. DS Unit 2 Software Engineering.pptx
PDF
medical_surgical_nursing_10th_edition_ignatavicius_TEST_BANK_pdf.pdf
PDF
A GUIDE TO GENETICS FOR UNDERGRADUATE MEDICAL STUDENTS
PPTX
Share_Module_2_Power_conflict_and_negotiation.pptx
PDF
احياء السادس العلمي - الفصل الثالث (التكاثر) منهج متميزين/كلية بغداد/موهوبين
PDF
RTP_AR_KS1_Tutor's Guide_English [FOR REPRODUCTION].pdf
PDF
Computing-Curriculum for Schools in Ghana
PDF
Hazard Identification & Risk Assessment .pdf
PDF
LDMMIA Reiki Yoga Finals Review Spring Summer
PDF
Paper A Mock Exam 9_ Attempt review.pdf.
DOC
Soft-furnishing-By-Architect-A.F.M.Mohiuddin-Akhand.doc
What if we spent less time fighting change, and more time building what’s rig...
ChatGPT for Dummies - Pam Baker Ccesa007.pdf
IGGE1 Understanding the Self1234567891011
CISA (Certified Information Systems Auditor) Domain-Wise Summary.pdf
Chinmaya Tiranga quiz Grand Finale.pdf
Indian roads congress 037 - 2012 Flexible pavement
202450812 BayCHI UCSC-SV 20250812 v17.pptx
FORM 1 BIOLOGY MIND MAPS and their schemes
TNA_Presentation-1-Final(SAVE)) (1).pptx
B.Sc. DS Unit 2 Software Engineering.pptx
medical_surgical_nursing_10th_edition_ignatavicius_TEST_BANK_pdf.pdf
A GUIDE TO GENETICS FOR UNDERGRADUATE MEDICAL STUDENTS
Share_Module_2_Power_conflict_and_negotiation.pptx
احياء السادس العلمي - الفصل الثالث (التكاثر) منهج متميزين/كلية بغداد/موهوبين
RTP_AR_KS1_Tutor's Guide_English [FOR REPRODUCTION].pdf
Computing-Curriculum for Schools in Ghana
Hazard Identification & Risk Assessment .pdf
LDMMIA Reiki Yoga Finals Review Spring Summer
Paper A Mock Exam 9_ Attempt review.pdf.
Soft-furnishing-By-Architect-A.F.M.Mohiuddin-Akhand.doc

c++ Project list

  • 1. Computer System and Programming Semester Project Instructions: Given below are some ideas that you can choose as your semester project. The semester project can be done individually or in groups. The number of group members should be proportional to the difficulty of the project. If you have any other ideas for the project, then feel free to run it by Sir Jahan Zeb or me first. The following two points are paramount for the project that you will submit: a. The code should be well commented and indented. b. Every member must have proper understanding of the code. The submission deadline for the project is 3rd of February, 2017. At the time of submission, there will be a demo of the project and a viva will be conducted alongside it. Project can also be submitted beforehand if you complete it before the deadline. The difficulty level, the number of group members and the quality of the code will determine the final score of the project. In case that you find something to be confusing, feel free to ask me.
  • 2. Project 1: One method of encoding messages is known as the "expanding square code". This method encodes a message by placing the character of the message in an odd order square matrix row by row, and then retrieving them in a clockwise expanding square spiral from the centre of the matrix. If the message is not exactly the right length to fill the matrix, the rest of the matrix is filled with asterisk characters (*). For example, the two square matrices below show the order in which the characters are placed in the matrix, and the order in which they are retrieved. Notice that the order of retrieval begins at the centre, then proceed to the right, and then spirals clockwise. Order In 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 Order Out 21 22 23 24 25 20 7 8 9 10 19 6 1 2 11 18 5 4 3 12 17 16 15 14 13 Message In: "This is a test message!!" Message Out: "stssees a a*!!egmtiThis " Your program must be able both to encode and to decode messages by this method. A few things to keep in mind are: 1. There is no defined length of the message. 2. File handling (i.e. saving the encoded message to a text file and reading an encoded message from the text file) can be added to the project as an added bonus. Project 2: This game is very similar to the popular Battleship board game. The game starts with each of two players placing 5 boats on their own 10x10 grid. Each boat must be placed either vertically or horizontally on a grid and no boat can overlap another. The boats’ lengths and point values are as follows: Carrier – 5 units long, 1 unit wide, 1 point Battleship – 4 units long, 1 unit wide, 2 points Frigate – 3 units long, 1 unit wide, 3 points Submarine – 3 units long, 1 unit wide, 4 points Minesweeper – 2 units long, 1 unit wide, 5 points After both grids have five boats positioned on them, each player, starting with the first, takes turns guessing where the opponent’s ships are on their grid. If the guessed coordinates of the opponent’s ship is correct, a hit is scored. Only when every piece of a ship has been hit will it
  • 3. be considered sunk. The game ends after an undetermined number of turns are taken. The player with the most points wins the game. Points are rewarded only for sunk ships. If the number of points is equal, the player with the most hits wins. If both players have the same number of points and hits, the game is a true tie and there is no winner (regardless of total ships sunk). A few things to keep in mind are: 1. Graphics (nothing fancy) can be added to make a good UI. 2. File handling (i.e. reading the initial position of the ships, the sequence of the guessed coordinates etc.) can be added to the project as an added bonus. Project 3: Morse code is a sequence of dashes and dots that can be used to represent a message in English. Each letter in a particular alphabet is represented by a unique pattern of dashes and dots in Morse code. You can find more details about the Morse code on Wikipedia. In this project, your job is to create a code that can convert an English string into Morse code. Then you can either beep the message or flash it (using any graphics library). Your code should also be able to convert Morse code into English text. (You may not be able to do it directly. Look up Quinary Form of Morse Code.) A few things to keep in mind are: 1. Graphics (nothing fancy) can be added to flash the Morse code. 2. File handling (i.e. saving the Morse code in a text file and reading the Quinary form from a text file.) can be added to the project as an added bonus. Project 4: John loves to find words in a 2D puzzle of letters but isn’t very good at it. In this project, you can write a programme that helps him do so. The program starts with a 2D grid of 9x9 with randomly generated letters. Then John will type in a letter to check whether it exists in the grid or not. As an example: A F M B N D L O D C F J K W I T C I D F C O L L E G E G K M R F D I B O F C F L J I W Q C F I A N C U O L F Q R O T R B C M I I L I E W Q T N X S L A F J L I K E
  • 4. Now, if the John enters CAT, then your program should be able to tell whether it exits in the puzzle or not. Similarly, if COLLEGE is entered then the program should do the same. The word can either exist in a straight line or in diagonal. A few things to keep in mind are: 1. Graphics (nothing fancy) can be added encircle the word if it exists in the puzzle. 2. File handling (i.e. reading a 2D puzzle from a text file) can be added to the project as an added bonus.