0% found this document useful (0 votes)
36 views16 pages

Laboratory Certificate: in Christ Academy, Bangalore

Uploaded by

sowmyakumar2018
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
36 views16 pages

Laboratory Certificate: in Christ Academy, Bangalore

Uploaded by

sowmyakumar2018
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 16

Laboratory Certificate

Certified that this is a Bonafide record of work

done as Project in the Department of Computer

Science by

Sowmya Kumar

in Christ Academy, Bangalore.

Roll No:
Date :
Teacher -in-charge Head of Dept Examiner
ChristAcademy

Hullahalli, Begur Koppa Road, Sakkalwara Post, Bangalore – 83

PROJECT REPORT
COMPUTER SCIENCE

Submitted for the


ISC XI Practical Examination 2024-25

By
Sowmya Kumar

XI ISC Roll No

28
Acknowledgement

I would like to express my heartfelt thanks to the


principal of Christ Academy Junior College, Reverend Fr.
Lebin, for giving me an opportunity to showcase my
views on this topic as a marked project. I would also like
to extend my gratitude for all his support. Sincere thanks
to my Computer Science teacher, Mrs. Shubhashini for
her constant guidance with all requisite information
regarding the topic and moral support throughout the
completion of this project. With the help of her valuable
suggestions, guidance and encouragement, I was able to
compile all the information I had collected from across
every possible source into the form of this project. On an
overwhelmed note, I once again thank each and every
one who guided me throughout the completion of this
project.
Sowmya Kumar
XI A (ISC)
Synopsis
This Calendar Generator Program is a Java-based application
designed to generate calendars for any given month and year. It
also allows users to store important events or schedules for
specific dates and view these stored dates. The program is
interactive, with a user-friendly interface to input dates, events,
and to display the generated calendar. The primary goal of this
project is to offer a moderate-level calendar generator that is
both functional and userfriendly while also incorporating
features like storing and viewing important dates.
The program allows:
1. Calendar Generation: Users can generate a calendar for
any year and month.
2. Storing Important Dates: Users can add, view, and delete
important events associated with specific dates.
3. Viewing Important Dates: The program allows users to
view a list of stored important dates and their associated
events.
This project demonstrates fundamental concepts of
Java programming such as date handling, collections
(HashMap), loops, and input/output operations, providing users
with both practical utility and an understanding of how to work
with dates and events programmatically.
Table of Contents
S. No. Topic

1 Introduction

2 System Overview

3 System Design

4 Screenshots

5 Testing

6 Future Scope

7 Bibliography
Introduction

Java is widely used by indie game development companies and


for creating mobile games. And it shouldn’t come as much of a
surprise, given how versatile the language is and given its rich
collection of open-source material. In comparison to
programming languages like C++, Java is easier to write,
debug, learn and compile. Many of the world’s top mobile
games have been developed in Java. Hence, Java was used to
make this game. It was a fairly straightforward process. The
code can be easily understood due to the object-oriented
concept of Java programming language. The player’s
movements, characteristics of the objects like doors and keys
are all behaviors of the objects.

By using the ‘Thread’ function, the game implements the


concept of time. It runs at 60 fps i.e.; The screen is refreshed
60 times per second. All of the pixels have been implemented
in the game using ‘draw’ function and
JFrame was used to make the game window.
System Overview

Platform System Requirements

Windows 7 or later, 2 GB RAM, 2 GB of hard disk space,


Windows
and a screen resolution of 1024x768 or higher.

macOS 10.8.3 or later, 2 GB RAM, 2 GB of hard disk


Mac
space, and a screen resolution of 1024x768 or higher.

GTK 2.8 or later, 2 GB RAM, 2 GB of hard disk space,


Linux
and a screen resolution of 1024x768 or higher.
Keywords

Keyword Keyword Keyword Keyword

package boolean import try

public catch static switch

void case new break

true return false double

null long class this

extends while implements if

final super int for


SYSTEM DESIGN
• Data Flow Diagram

Start

Generate Calendar(option 1)
Add important date(option 2)
Vi ew Important Dates(option 3)
Exit(Option 4)

Get User Choice

Yes No
Is the choice choicIs
the e
1 2?
Yes
Get Year from use r
Get month from user Add Important Date
Create calendar object Get data from user
Get no.of days in month Get event/description from userNo Is
Get starting day of month Add to important dates map the
Print Calendar header Print success image choi
Print day names ce
Print leading spaces for first week 3?
Loop through days in month:
Print day no.
Check for new line Yes
Print newline after lastday

Vi ew Important Dates
Check If important dates are empty
If empty:Print’No important dates found
If not empty:Print header “Important dates”
Loop through Important dates map
Print date and event/description

Exit
 Explanation of Data Flow
• Generate a menu with options to generate a calendar, add
important dates, view important dates, and exit the
program. Display the menu on the console.
• Read the user's input and store it in a variable.
• Create a Calendar object using the given year and month.
Calculate the number of days in the month. Determine the
starting day of the week for the month. Print the calendar
header (month name and year).Print the day names (Sun,
Mon, Tue, Wed, Thu, Fri, Sat). Print leading spaces for the
first week. Iterate through the days of the month, printing
each day and handling new lines.
• Store the date and event as a key-value pair in the
importantDates map.
• Check if the map is empty. If not empty, iterate through the
map and print each date and event.
• Terminate the program.
Screenshot (Output)
Testing

• Types of Errors
▪ Logical: Due to errors in the logic used.
▪ Syntax: Due to wrong syntax.
▪ Semantic: Due to improper usage of syntax.
▪ Compile-Time errors: Errors that occur during
compilation.
▪ Run-Time errors: Errors that occur during run- time and
do not produce the desired/expected output.

 Testing of a Project

Unit testing is a method of testing individual software


units, e.g., by testing public methods from a given class.
Most unit tests use predefined inputs to execute the
functions of the system under test and observe the outputs
and behaviour to determine if the test passes or fails.

Additionally, testing methods can help identify and mitigate


security vulnerabilities, which is critical for protecting
sensitive data and maintaining the integrity of the
application.
Future Scope
The future scope of the Calendar Generator program is vast,
with opportunities for enhancement and expansion to improve
functionality, user experience, and versatility. One potential
improvement is integrating an interactive graphical user
interface (GUI) using JavaFX or Swing, which would make the
calendar more user-friendly and visually appealing. The
program could also support recurring events, allowing users to
set events that repeat on a daily, weekly, monthly, or yearly
basis. Additionally, it could integrate with other digital calendars
like Google Calendar or Outlook, providing synchronization for
users who prefer to manage their schedules across multiple
platforms. For further convenience, the program could be
extended to include reminders and notifications, alerting users
about upcoming events or important dates. Another
enhancement would be allowing users to store and manage
notes and attachments for each event, making the calendar a
more comprehensive scheduling tool. The inclusion of a cloud-
based storage option would allow users to access their calendar
and event data from different devices, offering better flexibility.
Moreover, implementing a search feature would make it easier
for users to find specific events or dates quickly. Finally, adding
multi-language support would increase the accessibility of the
program, making it usable by a global audience. These
advancements would significantly enhance the utility and user
experience of the Calendar Generator program, making it a
more powerful and flexible tool for personal and professional
scheduling.
Bibliography
▪ Youtube.com
▪ CodeGym.com
▪ Lucidchart.com
▪ Quora.com
▪ StackOverflow.com

You might also like