Skip to content

Jordan702/AdvisingAssistanceProgram

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 

Repository files navigation

AdvisingAssistanceProgram

In the projects for this course, I was tasked with solving two main problems:

Analyzing the run-time and memory usage of different data structures to understand their efficiency and suitability for various tasks. Developing a program that sorts and prints out a list of Computer Science courses in alphanumeric order, which required an understanding of algorithms and data manipulation.

To approach these problems, I focused on the fundamental principles of computer science:

Understanding Data Structures: Recognizing that data structures are the backbone of efficient software, I analyzed common structures like arrays, linked lists, and trees. I evaluated their time complexity using Big O notation, for example, noting that a binary search on a sorted array runs in O(logn) time, whereas a linear search would take O(n) . Algorithm Design: For sorting the courses, I implemented a sorting algorithm that best fits the data’s nature. Considering the alphanumeric requirement, I chose a merge sort due to its efficiency in sorting complex data, which operates in O(nlogn) time.

During the projects, I encountered roadblocks such as optimizing the sorting algorithm and managing memory efficiently. To overcome these, I:

Conducted peer reviews to gain fresh perspectives. Utilized debugging tools to isolate and fix issues. Engaged in continuous learning through research and experimentation.

The work on these projects has expanded my approach to designing software by:

Encouraging modular design for better organization and scalability. Promoting the use of design patterns to solve common problems effectively. Highlighting the importance of user-centered design to ensure the software meets real-world needs.

Furthermore, my work has evolved the way I write programs that are maintainable, readable, and adaptable. For instance, I now:

Comment my code thoroughly to explain the logic behind complex algorithms. Follow naming conventions and coding standards for readability. Design with flexibility in mind, allowing for easy updates and modifications. AdvisingAssistanceProgram

About

AdvisingAssistanceProgram

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published