Skip to main content

MSCS Ready: MS in Computer Science Readiness Sequence

A year-long Readiness Sequence of six instructional modules is available to prepare those without undergraduate computer science degrees to enter the Master's of Computer Science program at Clemson.  This cohort-based program accepts students for the fall semester.  The sequence is available in a hybrid format in which each class has an asynchronous online component and a component that is offered in a synchronous online format and in-person at the Clemson University International Center for Automotive Research (CU-ICAR) campus in Greenville. Completion of this one-year sequence prepares students to begin the Master's program in the fall of the subsequent year.  Students interested in joining MSCS Ready should contact Eileen Kraemer (etkraem@clemson.edu).

Please note that these modules are not available to students already enrolled in a CIS or CPSC degree program at Clemson.

Format

  • Accelerated, supportive delivery of core computer science material
  • Emphasis on hands-on learning
  • Six 2-credit-hour modules, two courses per semester
  • Fall semester courses are delivered in a half-semester format (7 weeks of 4 contact hours (1.5/1.5/1), followed by 1 exam week)
    • Example schedule:
      • Weekly - 1 hour of asynchronous online instruction
      • Wednesday - 1.5 hours of in-person or synchronous remote studio
      • Thursday - 1.5 hours of online instruction (synchronous remote, recorded)
  • Spring semester courses are delivered in parallel in a full-semester format of 15 weeks of 2 contact hours (1/1), followed by 1 exam week
    • Example schedule:
      • Weekly - 1 hour of asynchronous online instruction
      • Tuesday or Thursday – 1 hour of in-person or synchronous remote studio
  • Summer semester courses are delivered in parallel in a long summer semester consisting of 6 weeks of 3 contact hours (1.5/1.5), a one-week summer break, and then 5 more weeks of 3 contact hours (1.5/1.5), followed by 1 exam week
    • Example schedule:
      • Weekly – 1.5 hours of asynchronous online instruction
      • Tuesday or Thursday – 1.5 hours of in-person or synchronous remote studio

Modules

These modules are currently offered under the course number CPSC 6810 and CPSC 8880. 

CS Readiness Sequence Semester Flow

Fall 1, 2020 - Module 1 - Procedural Programming

This course focuses on software development fundamentals: the software development process including the design and simple analysis of algorithms, fundamental programming concepts and data structures and basic software development and tools.

  • Programming language and environment: C and Unix
  • Credit hours: 2
  • Pre-requisites: None

Fall 2, 2020 - Module 2 - Object-Oriented Programming

This course focuses on object-oriented programming: classes and objects, information hiding and encapsulation, inheritance, and polymorphism. Continued emphasis on problem solving and program development technique for typical numerical, nonnumerical, and data processing problems. Introduces basic data structures, use of recursion, and file i/o, simple searching and sorting.

  • Programming language and environment: C and C++; Unix/Linux
  • Credit hours: 2
  • Pre-requisite: Module 1 (Procedural programming) or equivalent

Spring 1, 2021 - Module 3 - Discrete Structures

This course introduces ideas and techniques from discrete structures that are widely used in the computing sciences. Topics include finite state machines; regular expressions; functions, relations and sets; symbolic logic; proof techniques; counting arguments (sum and product rules, inclusion-exclusion principle; arithmetic/geometric progressions); pigeonhole principle; computation of combinations and permutations; the computer as state machine.

  • Programming language and environment: N/A
  • Credit hours: 2
  • Pre-requisite: A college-level mathematics course

Spring 2, 2020 - Module 4 - Algorithms and Data Structures

This course addresses the study of data structures and algorithms fundamental to computer science; abstract data-type concepts; data structures including lists, stacks, queues, trees, hashtables and graphs; measures of program running time and time complexity; algorithm analysis and design techniques.

  • Programming language and environment: C and C++; Unix/Linux
  • Credit hours: 2
  • Pre-requisites: Module 2 (Object-oriented programming)  and Module 3 (Discrete structures) or their equivalents

Summer 1, 2021 - Module 5 - Computer Organization

This course focuses on the building blocks and structure of computers, networks and the internet. Topics include machine representation of different types of data, how instructions are represented at both the machine level and in the context of a symbolic assembler, the principles of memory management and memory hierarchy, and how computer programs organize memory. Students will write simple programs at the assembly/machine level and will be able to describe basic properties of system performance.

  • Programming language and environment: C, ARM assembly language; Unix/Linux
  • Credit hours: 2
  • Pre-requisite: Module 1 (Procedural programming)

Summer 2, 2021 - Module 6 - Operating Systems

This course focuses on management techniques for the control of computer hardware resources. Topics include interrupt processing, primitive level characteristics of hardware and the management of memory, processors, devices, and data. Students who complete this course will be able to describe the basic components of a computer operating system, discuss the impact of the process-scheduling algorithm used by an operating system, use synchronization services provided by an operating system to implement a multithreaded application program, and discuss the issues involved in virtual memory support in a modern computer system.

  • Programming language and environment: C, C++; Unix/Linux
  • Credit hours: 2
  • Pre-requisites: Module 4 (Data structures and Algorithms) and Module 5 (Computer organization) or their equivalents