Every CS Master's student must complete a 400 level course (Independent study courses are ineligible for this requirement) in which they receive a grade of B or better to demonstrate an understanding and skill in four of the seven skill areas below:

  1. Theory Skills: Skills in this area demonstrate an understanding of the underlying theory and mathematical foundations of computer science. They will demonstrate theory proficiency in areas such as one or more of the following: automata theory & formal grammars; design and mathematical analysis of algorithms, order and computational complexity; graph and network theory, analysis and algorithms; theory and fundamentals of parallel computing.
  2. Applied Theory Skills: Skills in this area demonstrate an understanding and capability of the application of theory and computational complexity in the development and application of pattern recognition, graphics, image analysis, and other forms of highly mathematical algorithms. They will demonstrate applied theory proficiency in areas such as one or more of the following data mining, optical character recognition, image processing, face recognition, speech understanding, etc.
  3. Advanced application skills: Skills in this area involve the development and application of computer science algorithms, mathematical analytics, and formulae to specialized fields of computer science applications. The advanced application skills represent the skilled application of computer science tools and techniques to focused areas of advanced application in the development of algorithmic based capabilities. They will demonstrate advanced application skills proficiency in areas such as one or more of the following: Bioinformatics, Robotics, Virtual reality environments, social computing applications, Web, cloud and mobility, etc.
  4. Knowledge-Based Systems Skills: Skills in this area focus on the ability to store, manipulate, query, analyze, search and or infer knowledge from possibly ubiquitous and distributed information systems using artificial intelligence and related algorithmic and heuristic techniques. Skills in this area must demonstrate proficiency in areas such as one or more of the following: Artificial Intelligence, semantic web, advanced search, intelligent agents, or game theory.
  5. Computer Hardware, Systems & Networks skills: Skills in this area are related to the concepts of computer engineering and include the fundamentals of the interaction between hardware and software systems. Skills in this area include demonstrating proficiency areas such as one or more of the following: the development of embedded systems, theory of operating systems, networks and internetworking at the device level, computer and operating system architecture, data bases and optimization algorithms, communication and wireless network device hardware and software
  6. Security in computing environments skills: Skills in this area are related to the security of computer and network environments including single systems up to and through networks and cloud computing. Skills in this area include demonstrating proficiency areas such as one or more of the following: Analyzing and developing enhanced security methodology in computing and mobile systems, software system security, and network vulnerability analysis.
  7. Software & Programming skills: Skills in this area are related to a deep knowledge, understanding and proficiency in programming in multiple languages, complex algorithm development and implementation. Skills in this area include demonstrating proficiency in areas such as one or more of the following: software architecture, compiler or language design and analysis, designing & implementing user interface systems & techniques, designing and building web and device applets

All Master Students are required to take CSE 411 Advanced Programming Techniques and receive a grade of B or better.

CSE 406 Research Methodologies & Tools and CSE 499 Dissertation do not count towards the total number of credits required to complete the masters program.

CSE 350/450 (ECE 350/450) Smart Grid Communications will not count towards the 6 400-level courses required, but only as one of the 10 classes required for the degree.

All Masters level students are encouraged to complete the Masters Degree Skill Proficiency Requirements as soon as possible, preferably in their first year as a Masters student. While there will be no permanent list of courses to be used in demonstrating an understanding and skill in satisfying a particular skill area, we will identify for every graduate level course being offered in any semester the skill areas it could be used for. Students may use the list for past semesters as a guide, but should check with their master’s advisors when making specific course plans to satisfy the skill proficiency requirements in future semesters.

The list below is considered suggestive of the variety of topics and or courses that may be used in each of the skill areas. Students should use only the approved list published each semester in making their course selections for this requirement.

  1. Theory Skills
    1. Theory of Automata and Formal Grammars
    2. Design & Analysis of Algorithms
    3. Parallel Algorithms
    4. Graph Theory and Application
    5. Networks & Graphs
  2. Applied Theory Skills
    1. Pattern Recognition
    2. Data Mining
    3. Graphics & Image analysis
  3. Advanced application skills
    1. Bioinformatics
    2. Social Computing
    3. Web application development
    4. Robotics
    5. Environments
  4. Knowledge-Based Systems Skills
    1. Artificial Intelligence
    2. Search engines
    3. Semantic web
    4. AI Game Programming
    5. Intelligent agents
  5. Computer Hardware, Systems & Networks
    1. Computer Architecture
    2. Theory of Operating Systems
    3. Database Systems & Algorithms
    4. Hardware & Software in Parallel Computing
    5. Computer& Internetworking
    6. Communication & Wireless Networks
  6. Security in computational environments
    1. Network Security
    2. Software System Security
    3. Analyzing security in computational systems
  7. Software & Programming skills
    1. Advanced Programming Techniques
    2. Software Architecture
    3. Compiler or Programming Language Design and Analysis
    4. Designing and building Web and device applets
    5. Designing & Implementing User Interface Systems &amp Techniques