-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathalgorithms.html
140 lines (137 loc) · 10.4 KB
/
algorithms.html
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
<!DOCTYPE html>
<html lang="en">
<head>
<!-- Favicon and Icons -->
<link rel="icon" href="https://Smokey027.github.io/favicon.ico" type="image/x-icon">
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png">
<link rel="manifest" href="/site.webmanifest">
<!-- Meta Tags -->
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="Algorithms and Data Structure page of Scot's ePortfolio.">
<!-- Title -->
<title>Algorithms and Data Structure - Scot C. Batton's ePortfolio</title>
<!-- Styles -->
<style>
body {
font-family: Arial, sans-serif;
line-height: 1.6;
margin: 0;
padding: 0;
background-color: #f0f0f0;
color: #333;
}
header {
padding: 20px;
text-align: center;
background-image: url('red-3124617_1280.png');
background-size: cover;
background-position: center;
color: black;
font-family: 'Copperplate Gothic Bold', sans-serif;
}
header h1 {
font-size: 28px;
margin: 5px 0;
}
header p {
font-size: 24px;
margin: 5px 0;
}
nav {
background-color: #333;
color: #fff;
padding: 10px;
text-align: center;
}
nav a {
color: #fff;
margin: 0 15px;
text-decoration: none;
cursor: pointer;
}
main {
padding: 20px;
max-width: 800px;
margin: 0 auto;
background-color: #fff;
}
footer {
padding: 20px;
background-color: #888;
color: #fff;
text-align: center;
}
section {
margin-bottom: 40px;
}
h2, h3 {
color: #4169e1;
}
a {
color: #4169e1;
text-decoration: none;
}
a:hover {
text-decoration: underline;
}
.img-center {
display: block;
margin: 0 auto;
max-width: 100%;
position: relative;
transform: scaleY(0.75);
}
.github-button {
display: inline-block;
margin-top: 10px;
padding: 10px 20px;
background-color: #24292e;
color: #ffffff;
border-radius: 5px;
text-decoration: none;
font-weight: bold;
}
</style>
</head>
<body>
<header>
<h1>Scot C. Batton</h1>
<p>ePortfolio</p>
<p>CS-499 Computer Science Capstone</p>
<a href="https://github.com/Smokey027/Smokey027.github.io" class="github-button" target="_blank" rel="noopener noreferrer">View Project on GitHub</a>
</header>
<nav>
<a href="index.html#welcome">Welcome</a>
<a href="index.html#self-assessment">Professional Self-Assessment</a>
<a href="refinement-plan-and-code-review.html">Enhancement Plan and Code Review</a>
<a href="software-design.html">Software Design</a>
<a href="algorithms.html">Algorithms</a>
<a href="databases.html">Databases</a>
</nav>
<main>
<section id="algorithms">
<h2>Algorithms and Data Structure</h2>
<img class="img-center" src="data-structures-and-algorithms.jpg" alt="Data Structures and Algorithms Image" title="Data Structures and Algorithms">
<a href="Module 4 Narrative (Algorithms and Data Structures).docx" title="Algorithms and Data Structures Narrative">Algorithms and Data Structures Narrative</a>
<p style ="text-indent: 40px;"> For the computer science capstone, I have chosen to enhance an Event Tracking Mobile Application that was created exclusively for the Android operating system within Android Studio. This artifact was created during <strong>CS-360: Mobile Architecture and Design</strong> that I was enrolled in during the 2023-2024 school year at Southern New Hampshire University. The entire application is designed to give the user the ability to track events happening in their lives. The user can add, edit, and delete events, manage the details within the event, track a multitude of events at once, and receive SMS alerts about their events. Within this artifact, this narrative will focus on the Algorithms and Data structures associated with the application and the enhancements and class outcomes that have been achieved.</p>
<p style ="text-indent: 40px;"> As described in the <a href="refinement-plan-and-code-review.html" title="Enhancement Plan and Code Review">Enhancement Plan and Code Review</a>,The artifact selected for the algorithms and data structure category is the <strong>Mobile Event Tracking Application</strong>. To showcase my skills and ability to grow and change projects, I have included The Mobile Event Tracking Application within my portfolio. The inclusion of this application within my ePortfolio will allow me to show my ability in software design and engineering, algorithms and data structures, and databases. This section will highlight my skills in improving user experience, creating efficient data structures, manage database connections, and implementing checks for user input. I have enhanced the application by implementing multilingual support (English and Spanish), within the MainActivity and RegistrationActivity classes and the activity_main.xml and activity_registration.xml files. I have optimized data structures for better performance and scalability by using RecyclerView in EventListActivity and using Cursor for querying the SQLite database. I introduced pagination or lazy loading within the data loading process for efficiency and more scalability. I finally refined algorithms to improve overall performance through all the previous skills and validation checks within MainActivity and RegistrationActivity. The artifact was enhanced by creating a button to switch from English to Spanish across the entire app for a more global reach. I added more robust data handling and checks for a better user experience and added a back button to allow users to switch back to the previous pages.</p>
<p style ="text-indent: 40px;"> The course outcomes specified for this project have been well researched, well planned, and I have met them at different sections of this project. The outcomes for this category of the artifact, algorithms and data structures, have been met and consist of outcomes 1, 3, and 4. This section, Algorithms and Data Structures, has been thoroughly enhanced from the original work by allowing for multilingual support, optimizing data structures for better performance and scalability, introducing pagination for efficient scalability, and refining algorithms to improve overall performance.</p>
<p style ="text-indent: 40px;"> In the EventAdapter.java and EventListActivity.java files, I use the RecyclerView and event handling so that users can collaboratively manage the data within a specific event. I have also provided toast messages within the code for username, password, bottom navigation, and registration. These messages within the application keep the user informed and provides feedback for their actions. This use of collaboration, along with creating a diverse application with the options of English and Spanish allow me to achieve <strong>Outcome 1</strong> since I employed strategies for building collaborative environments that enable diverse audiences to support organizational decision making in the field of computer science. Within Database.java and Event.java files I have achieved <strong>Outcome 3</strong> by the fact that I designed and evaluated computing solutions that solve a given problem using algorithmic principles and computer science practices and standards appropriate to its solution, while managing the trade-offs involved in design choices (data structures and algorithms). I achieved this with the implementation of CRUD operations and use algorithms for manipulating data. I chose SQLite for data storage instead of in-memory data structures which manages design choice tradeoffs. I have also achieved <strong>Outcome 4</strong> in this section of the project. <strong>Outcome 4</strong> shows that I demonstrated an ability to use well-founded and innovative techniques, skills, and tools in computing practices for the purpose of implementing computer solutions that deliver value and accomplish industry-specific goals (software engineering/design/database). In the AddEventActivity.java and EditEventActivity.java files I use MVC design patterns to separate the user interface from business login. I also implement a database that stores events effectively.</p>
<p style ="text-indent: 40px;"> Throughout the process of enhancing this artifact I learned a lot more about the storage and manipulation of the data within the application and how fluid the creative process of building an application can be. Creating a diverse and informative application for a broad audience is more important than I first realized. The ability for a multilingual interface allows for a better user experience and for a wider reach of my application. The user feedback is also great for customer reviews, debugging, and general health of the application. I faced a few challenges this week in the enhancement of algorithms and data structures. I was initially only able to add a button for Spanish on the first page and struggled with transfer to proceeding pages. I also had and am still having trouble with the actual font of my application. I have created a dimens.xml file to handle text uniformly across the application but the text seems blurry and still needs further work.</p>
</p>
<p style ="text-indent: 40px;">
Explore the application and download the Algorithms and Data Structures code Enhancement below:
<ul>
<li><a href="https://Smokey027.github.io/EventTrackingApp/Algorithms and Data Structures.zip" download>Download Code Enhancement</a></li>
</ul>
</section>
</section>
</main>
<footer>
<p>© 2024 Scot C. Batton. All rights reserved.</p>
</footer>
</body>
</html>