Kingdom of Saudi Arabia جاهعت حائل وزارة
Ministry of Higher Education التعلين العالي
University of Hail
College of Computer Science and Engineering الوولكت العربيت
Department of Computer Science and Software السعوديت
Engineering قسن علوم الحاسب
وهندست البرهجياث كليت
علوم وهندست الحاسب
اآللي
ICS 251
Foundation of Computer Science Projects
Instructor: Sabiha begum
Project Assignment Date: (10/05/2024) Project
Submission Deadline: (10/05/2024)
The main goals of the course project are to
• Provide a complete and meaningful experience for every student
• Present experience in self-directing a partnered project
• Allow students to choose a topic of personal interest for in-depth study and research
• Provide experience in reading technical literature
• Provide practice at presenting technical information (orally and written)
Guidelines:
1. Choose a topic and partner: You must choose a topic that interests you and appropriately
challenges you. You will decide on a project topic in consultation with your partner. (You will
work in pairs.) The end of this document contains a list of suggested topics, but you may also
propose your own topic.
2. Background research: Each student in the group must research the chosen topic. I suggest starting
with web-searches, looking for scientific/technical articles, and using library resources necessary
to obtain books (plan ahead!). Your bibliography should not rely solely on websites – you need to
use some published documents (available online or off).
3. Prepare project proposal: The project proposal, 1-page, single-spaced, professionally written
description of the proposed project. It should contain:
a. A brief description of the chosen area of study.
Prepared By sabiha begum 1|Page
b. A statement of the specific goals of the project. (What do you hope to accomplish? What
exactly will you investigate?)
c. An explanation of why the chosen topic is appropriate* given your strengths, backgrounds,
and interests. *Do not propose to learn about algorithm complexity if you already know
about algorithm complexity. Do propose to learn about algorithm complexity if you have
no idea what this means but it sounds interesting.
d. Brief descriptions (2-3 sentences) of your preliminary references (which may or may not
wind up in your final bibliography).
4. Prepare presentation:
a. Written: Each pair will write a 5-6 page SINGLE SPACED paper. Diagrams, tables, and
figures do not count in the 5-6 page limit. The paper will generally be more “dense” than
the mini-project papers. You should work to fit high quality mathematics and exposition
within the page limitation. The paper should be professionally written and should (in
most cases) include sections as follows:
i. Abstract – Give a short, self-contained description of the project. This will be
archived for future reference.
ii. Introduction - Give a short introduction to your chosen topic and outline what
you will do in the balance of the paper (ie. Explain the goals of the paper).
Indicate why this topic is exciting/useful.
iii. Background - Introduce any new definitions, notation, or other background
information necessary for understanding the rest of the paper.
iv. Main Section(s) - Describe the heart of your project. What did you learn? What
theorems did you prove or results did you discover? What examples did you
find/invent? Show off the new stuff that you now know. Your paper must include
some original thought. For example, you might come up with a new result, a
new algorithm, a novel example, an original comparison of different systems, or a
new proof of an old result. Clearly indicate what is original and what was found
in references. You can (and should) use references to guide your write-ups of the
examples, theorems, and proofs, but you must explain the details in your own
words and you must cite your references.
v. Conclusions - Wrap things up. Remind us what new knowledge your project
produced and remind us why your project is exciting/useful. You might also draw
connections among the new stuff you learned.
vi. Bibliography.
vii. Proof-read, proof-read, proof-read. This is why we do it in pairs. (means no
copy paste material)
Prepared By: Sabiha begum 2|Page
b. Oral: Each pair will deliver a 15 minute presentation on their project. The oral
presentation will essentially give an overview of the content of the paper to the class.
Usually, the oral presentation will not contain formal proofs. Remember, the goal here is
to explain new knowledge to your classmates. Structure your presentation as you would
hope others would structure theirs! Make it interesting and easy to understand.
5. Prepare the Small poster for the Project.
Evaluation: Some specific criteria will be used in the evaluation of your work. Each student will also
evaluate every other presentation.
Project Ideas
Sums and Differences of Discrete Functions
Binary Games
Cumulative Permutation Sequences
Graph theory and the channel assignment problem: L(2,1) graph labelings
Permutation Loops
Meeting Probabilities
Cryptosystems/hash functions
Game theory
Graph algorithms
Combinatorial designs
• For more ideas, see http://www.mathpages.com/home/icombina.htm . One student based a
project on “The coin in 3 fountains,” which turned into a research project.
• For basic definitions of different areas of discrete math, see
http://mathworld.wolfram.com/topics/DiscreteMathematics.html
Prepared By: Sabiha begum 3|Page