I applied for a Masters of Science in Cybersecurity Program here in Florida. I am a Geographer so this is sort of a career change.
I received a reply from the director, Randy Borum (https://en.wikipedia.org/wiki/Randy_Borum),
"I know your degrees are in General Studies and Human Resource Management. We recommend, but do not require an undergraduate degree in IT or computer science, but competitive and successful applicants should have a strong foundation of technical knowledge before beginning the MS in Cybersecurity program.
The guidance we offer for technical knowledge is as follows:
Because this is a graduate-level program, to ensure that students possess the foundational knowledge for academic success, students admitted to this program are most likely to be successful if they have academic or work experience in the areas of C/C++ programming, computer networks, operating-system design, algorithms, data structures, and computer organization. An undergraduate degree in computer science, computer engineering, MIS, or IT is recommended for admission.
It is also necessary to have a basic foundation in discrete mathematics and modular algebra before enrolling in the required Cryptography course.
It may be that you have computing/network knowledge and experience that I failed to see in reviewing your application. If that’s the case, please let me know - but I would like for you to be sure you are currently prepared for a graduate level, technical training program. This is not just a matter of will and determination, it is a matter of preparation.
I also want to emphasize that there is a difference between acquiring enough technical knowledge to get through the courses and having a sufficient foundation of technical knowledge that you can apply what you learn in the program to solve real problems afterwards. Your technical foundation will affect your employability in the field and your ability to meet an employer’s expectations. Producing graduates who lack technical preparation also reflects poorly on the program.
Here is a list of learning objectives, just to acquaint you with the kinds of prerequisite knowledge most likely to lead to success in the MS program:
- Understand basic discrete mathematics and modular algebra
- Explain the basic functions of an operating system and the hardware mechanisms that support these functions, and
- Understand computer components, their functions and interconnection, computer memory, cache memory, I/O and operating system support
- Explain basic operating system concepts, including processs management, memory management, storage management, protection & security, distributed systems, and special purpose systems
- Create programming/coding objects and methods for calling on or using those objects
- Know the difference between mutable and immutable objects
- Write code in which arrays are declared, created, searched and modified
- Write code that creates and modifies arrayLists
- Explain the difference between the application and the implementation of an object
- Describe the role and scope of variables in object states
- Understand a wide variety of data structures (including, balanced search trees, hash tables, priority queues and the disjoint set union/find data structure) and use them appropriately to solve problems
- Use linked data structures such as linked lists and binary trees
- Know what is meant by “sorting in place” and the “natural order” of a class of objects
- Understand the abstract data types of stacks, queues and deques
- Understand a variety of techniques for designing algorithms.
- Appreciate that the algorithm used to solve a problem will be the main factor in how fast it is solved
- Understand the phrases “best case”, “worst case” and “average case” when applied to algorithms
- Describe a variety of algorithm design techniques and understand how they can improve either efficiency or clarity
- Knows maps, hash tables, lists and other commonly used data structures
- Apply knowledge of data structures to write more efficient programs
- Understand Network fundamentals and terminology
- Describe and analyze the hardware, software, components of a network and the interrelations.
- Explain networking protocols and their hierarchical relationship
- Explain concepts and theories of networking
- Identify infrastructure components and the roles they serve, and design infrastructure including devices, topologies, protocols, systems software, management and security.
- Explain how communication works in data networks and the Internet
- Identify Recognize the different internetworking devices and their functions
- Understand network industry standards such as: the OSI model, Routing Protocols, Address Resolution and Reverse Address Resolution Protocols, IP Addresses and Subnetting, MAC Addressing. "
So, if anyone wants to discuss these topics (it seems like a lot) here as experts, professionals, or novices, that could be fun and motivational for others who may wish to study cybersecurity Thanks for participating