Below are a list of all the relevant courses I took at the University of South Carolina related to my degree. (Note: all course descriptions come directly from the University of South Carolina website and are properly cited at the bottom of this page.)
CSCE 240: Advanced Programming Techniques¹
Description: Pointers; memory management; advanced programming language structures: operator overloading, iterators, multiple inheritance, polymorphism, templates, virtual functions; Unix programming environment.
CSCE 145: Algorithmic Design I¹
Description: Problem-solving, algorithmic design, and programming.
CSCE 146: Algorithmic Design II¹
Description: Continuation of Algorithmic Design I. Rigorous development of algorithms and computer programs; elementary data structures.
CSCE 548: Building Secure Software¹
Description: Construction of software systems resistant to vulnerabilities and attacks. Cryptographic tools. Language, operating system, and network security. Case studies. Development of best practices through programming assignments.
CSCE 205: Business Applications Programming¹
Description: Introduction to computer applications in business. Programming exercises in COBOL.
MATH 141: Calculus I²
Description: Functions, limits, derivatives, introduction to integrals, the Fundamental Theorem of Calculus, applications of derivatives and integrals
CSCE 490: Capstone Computing Project I¹
Description: Major team-based software design project to be undertaken in a student's final year of study; project planning, software requirements analysis, design, and specification. Written reports and oral presentations in a technical setting.
CSCE 492: Capstone Computing Project II¹
Description: Continuation of Capstone Computing Project I. Computer system implementation, testing, verification and validation of results. Written reports and oral presentations in a technical setting.
CSCE 210: Computer Hardware Foundations¹
Description: Number representation, data formats, CPU and memory organization, assembly language, I/O and peripherals, computer networks.
CSCE 290: Computer Information Systems in Business³
Description: An introduction to the effective use of information systems tools in day-to-day business communications, analysis, and decision making
CSCE 190: Computing in the Modern World¹
Description: An introduction to the field of computing: trends in computing technology, the profession, and careers; subdisciplines in computing; the nature of research and development.
CSCE 350: Data Structures and Algorithms¹
Description: Techniques for representing and processing information, including the use of lists, trees, and graphs; analysis of algorithms; sorting, searching, and hashing techniques.
CSCE 520: Database System Design¹
Description: Database management systems; database design and implementation; security, integrity, and privacy.
MATH 174: Discrete Mathematics for Computer Science²
Description: Logic, number theory, sequences, series, recursion, mathematical induction, set theory, enumeration, functions, relations, graphs and trees. Connections to computers and to programming are emphasized when possible.
CSCE 522: Information Security Principles¹
Description: Threats to information resources and appropriate countermeasures. Cryptography, identification and authentication, access control models and mechanisms, multilevel database security, steganography, Internet security, and intrusion detection and prevention
CSCE 201: Introduction to Computer Security¹
Description: Introduction to the theory and practice of computer security, including security policies, authentification, digital certificates, firewalls, malicious code, legal and ethical issues, and incident handling.
CSCE 416: Introduction to Computer Networks¹
Description: Concepts and components of computer networks and the Internet; network applications; network protocol stack.
CSCE 311: Operating Systems¹
Description: Operating system structure and function; process implementation, scheduling, and synchronization; memory management; security; naming protection; resource allocation; network file systems.
CSCE 390: Professional Issues in Computer Science and Engineering¹
Description: Professional issues in the information technology professions; history and social context of computing; professional responsibilities; privacy; intellectual property; risks and liabilities of computer-based systems.
CSCE 247: Software Engineering¹
Description: Fundamentals of software design and development; software implementation strategies; object-oriented design techniques; functional design techniques; design patterns; design process; source control; testing.
CSCE 594: Strategic Management of Information Systems¹
Description: Strategic management and use of information systems in organizations.
CSCE 215: UNIX/Linux Fundamentals¹
Description: UNIX operating system, user-level system commands, and programming tools. UNIX scripting languages.
¹ https://www.cse.sc.edu/class
² https://academicbulletins.sc.edu/undergraduate/course-descriptions/math/
³ http://bulletin.uscunion.sc.edu/preview_course_nopop.php?catoid=13&coid=48
² https://academicbulletins.sc.edu/undergraduate/course-descriptions/math/
³ http://bulletin.uscunion.sc.edu/preview_course_nopop.php?catoid=13&coid=48