Here you will find answers to many of the most commonly asked questions students have during their time in the program. Please take some time to review these FAQs. If you still have questions, please reach out to the program administrator, Connie Herold (cherold@andrew.cmu.edu).

What are the general course requirements?

In the Ph.D. program in Societal Computing, each student must complete 108 University units of graduate courses and receive at least a B- or greater with a B (3.0) overall grade average in each course. Course requirements are intended to ensure that all program graduates have sufficient breadth in Societal Computing fundamentals as well as depth in one or more relevant areas of their choice. Students must demonstrate breadth in Societal Computing fundamentals by completing 48 units in 4 star areas plus a minimum of 18 units of the Societal Computing Ph.D. Practicum. Depth is provided through the remaining 36 units of elective coursework, which can be fulfilled from a broad selection of relevant electives – as well as research and project work. Finishing out the 108 units is the Societal Computing Pre-Thesis course (6 Units). The Societal Computing Pre-Thesis course (08-802) is provided by each Societal Computing adviser to coach the student in preparing, presenting, and passing a thesis proposal.

What is the Societal Computing Practicum and How Does it Work?

Purpose:  The Practicum will fulfill its dual functions of providing an essential introduction to the discipline of Societal Computing as practiced at CMU, and to build some of the skills that all graduate students need as they transition from an undergraduate to a graduate student mind set.

Practicum Syllabus:

Societal Computing Topics

Literature review. Write a literature review, working with advisor to pick topic and identify research questions. Writing includes critiquing papers being synthesized in the review. This is intended to be a short form literature review of approximately 2-4 pages, of the sort that typically introduces a conference paper.

What makes good interdisciplinary research? While each research group focuses continuously on this topic, the practicum will provide a broader view, e.g., by inviting a senior researcher from ISR or SCS to share reflections on their own research strategies, key choices they made in their careers, and advice they can offer budding researchers.

What is SC about? Hear from and interact with SC faculty members to see the breadth of research topics, methods, and policy concerns within SC.

The Societal Computing Ph.D. Practicum provides students with insight into the nature of research in Societal Computing and practical information on being a researcher, feedback on research, and an opportunity to collaborate with fellow graduate students and faculty.

The fall practicum (6 units) will have all faculty presenting their research. Students will also undertake a project. The advanced practicum will be offered in the spring (12 units). (6 units Fall - 08-999 and 12 units spring advanced 08-998) are required for graduation.

For year 3 and beyond:

  • Give 1 research talk in either the fall/spring semester until you graduate and while you are in residence.
  • Become a mentor for a Jr. Student every year you are in residence until graduation. Let Connie know who you are mentoring.

Suggestions for special guest lectures and for topics to cover in the spring semester are welcome.

How do I fulfill the Teaching Requirement?

To fulfill the teaching requirement for the Ph.D. degree the student must do one of the following:

  • Serve as a full TA two full length Societal Computing Courses (9 or 12 units)
  • Serve as a full TA for one full length Societal Computing Course and one full length SCS course (9 or 12 units)– with the permission of the student’s advisor
  • Serve as a full TA for one full length Societal Computing Course and teach the equivalent amount in the CASOS summer institute (requires substantial teaching over multiple years)

Approval is typically determined during the student Black Friday semi-annual review.

How do I fulfill the Computational Thinking Requirement?

To fulfill the computational thinking and programming requirement for the Ph.D. degree the student must:

  • Achieve a high level of competency designing, implementing and testing algorithms
  • Developed a substantial body of code in association with a research project
  • Work collaborative on a computational thinking project

Typically this is achieved through research and development by the student as part of a research team under their Ph.D. advisor. Key requirements include computational thinking, acceptable code development, code development as part of a team, and good documentation practices.

How do I fulfill the Writing Requirement?

To fulfill the writing requirement for the Ph.D. degree the student must:

  • Demonstrate a high level of competency in organization, clarity of writing in English, cohesive argument, and accurate utilization of references by writing a paper that is accepted for publication by a high-quality peer-reviewed conference, journal (or equivalent, as approved by the Societal Computing faculty), or acceptable Thesis Proposal.

How do I fulfill the Speaking Requirement?

To fulfill the speaking requirement for the Ph.D. degree the student must:

  • Attend and present in the Societal Computing PhD Practicum, at least four times.
  • Present at, at least once, at national or international conference (in a paper, not a poster session or round table).
  • Achieve a high level of competency in talk organization, slide development, presentation style, eye contact, and question answering skills.

Approval is typically determined during the student Black Friday semi-annual review.

How do I fulfill the Pre-Thesis Course Requirement?

The Societal Computing Pre-Thesis course (08-802) is provided by each Societal Computing adviser to coach the student in preparing, presenting, and passing a thesis proposal. The proposal will generally occur in the semester where this course is taken. If it is not, then, at the adviser's discretion, an incomplete may be granted. In that case, in accordance with university policy, the course must be completed (and the thesis passed) no later than the last day of the following semester, or the default grade will be awarded.More information about star courses and electives appear below. It is recommended that a majority of the star courses be completed before electives are taken.

What are Star Courses and how do I fulfill them?

The 4 star courses (48 units) provide students with a basic grounding in core skills needed for research inSocietal Computing: computational thinking, statistics, and management/policy. Students are to take a minimum of one 12 unit course (or two 6 unit courses) from each of the required areas. No course may satisfy more than one requirement, in its entirety. In rare cases the units of a course may be split between two categories such as 6 units in one area and 6 in another. Exactly which courses are taken should be discussed by the student and his/her advisor. Please note the courses listed are illustrative. At CMU new courses are added most years. If there is a course that you feel is appropriate simply send an email petition to Connie Herold asking to count it.

Societal Computing (12 Units Star Course Required)

A 08- Ph.D. level (or masters with permission of instructor) course taught by Core Societal Computing faculty

  • 08-733 Privacy, Policy, Law and Technology
  • 08-734 Usable Privacy and Security
  • 08-781 Mobile & Pervasive Computing Services (must have permission to take as a PhD course)
  • 08-801 Dynamic Network Analysis
  • 08-803 Empirical Methods for Socio-Technical Research
  • 08-810 Computer Simulation of Complex Socio-Technical Systems
  • 08-840 Green Computing
  • 08-996 Societal Computing Independent Study (with a core Societal Computing faculty, not your advisor)

Computational Thinking Skills (12 Units Star Course Required)

Address issues of how to reason computationally. These courses involve the design and development of core algorithms and not just the application of canned programs.

  • 05-834 Applied Machine Learning
  • 08-810 Computer Simulation of Complex Socio-Technical Systems
  • 10-701/15-781 Machine Learning
  • 10-715 Advanced Introduction to Machine Learning
  • 15-750 Algorithms
  • 15-780 Advanced AI Concepts
  • 15-830 Computational Methods in Sustainable Energy
  • 15-853 Algorithms in the Real World

Policy and Management (12 Units Star Course Required)

Address issues of management and policy. Methods courses are not allowed in this area.

  • 08-732 Law of Computer Technology
  • 08-733 Privacy Policy, Law, and Technology
  • 08-801 Dynamic Network Analysis
  • 08-803 Empirical Methods for socio-Technical Research
  • 08-810 Computational Modeling of Complex Socio-Technical Systems (if paper uses a model to address a policy or management issue)
  • 15-892 Foundations of Electronic Market Places
  • 19-701 Theory and Practice of Policy Analysis(6 units)
  • 19-712/18-842 Telecommunications Technology, Policy and Management
  • 47-890 Seminar in Organizational Behavior
  • 47-891 Seminar in Organizational Theory (6 units)
  • 47-899 Seminar in Social Networks (6 units)
  • 90-840 Legislative Policy Making
  • 90-866 Large Scale Data Analysis for Public Policy (6 units)
  • 90-904/10-830 Research Seminar in Machine Learning and Policy

Statistics (12 Units Star Course Required)

Address issues of statistical data analysis. These are meant to provide methodological skill in statistics.

  • 10-702 Statistical Machine Learning
  • 36-705 Intermediate Statistics
  • 36-749 Experimental Design for Behavioral & Social Sciences
  • 90-906 Intro Econmtrc Theory
  • 94-834 Applied Econometrics I
  • 94-835 Applied Econometrics II

How do I get a new Star Course approved?

The faculty have selected an initial set of approved courses in each category. These are subject to review from time to time to ensure that, if the course content changes, it remains consistent with the purpose of that star.

Societal Computing Ph.D. students may request that the faculty approve an additional course in one of the star categories. In general, if the request is approved, the course will be added to the list for other students to take for star credit. When a request is student-initiated, it is the student's reponsibility to make a case supporting STAR status. Students should submit a request to the Head of the Societal Computing Ph.D. program and theSocietal Computing Ph.D. Program Manager using the following template:

  1. Your name
  2. Name and number of the course
  3. Course description or URL to course description
  4. Which star requirement you want this course to satisfy
  5. An indication of approval by your advisor
  6. Evidence, including quotes from the course description and syllabus with supporting links, to demonstrate that the course:
    1. Matches the topic and fulfills the particular requirements of the star course category you have requested
    2. Assumes an undergraduate background in the relevant area--no more and no less
    3. Uses multiple forms of evaluation (e.g. assignments, exams, projects, papers, ...)
    4. Is appropriate for Ph.D. study. For example, if a course is primarily designed for master's students, a justification should be given that the course is also an appropriate preparation for Ph.D. study. Sometimes a course that is missing engagement with research may be adapted for Ph.D. students through additional or replacement assignments that lead PhD students deeper into relevant research topics

Given sufficient information, requests received by the faculty should generally receive a response within 2 weeks, if the request is made during a regular academic semester. Star credit should generally be requested at least 2 weeks before the end of the semester before taking a course, and preferably 2 weeks before the beginning of the registration period. This ensures students can register for a course before it fills up, and avoid spending time on a course that is not in the end approved.

Courses will not, in general, be approved in two categories, but instead will be approved in the category that best fits the primary emphasis of the course (if any). If any exception to this principle is made, the student must choose which category to apply the course to, and find a different course with which to fulfill the other requirement.

Course curricula may evolve over time, due to the advancing state of knowledge, the changing background and needs of students, or the strengths that a new instructor brings to bear on a course. Therefore, the faculty may re-examine star courses from time to time in order to verify the the course continues to fulfill the requirements for a star. If it does not, star status may be withdrawn for future offerings of the course.

How many electives can I take and which courses count towards degree completion?

All students are required to take a minimum of 36 units of Ph.D. level electives. These electives provide depth in an area of relevance to the student. This requirement can be filled by a combination of mini’s (6 unit) and full (12 unit) courses. Please note that courses must be at the level of 08-700 or above to count as a Societal Computing elective. These electives can be drawn from a variety of sources:

  • A specialized independent study on a topic for which there is not a regularly offered course. At most 12 units of independent study can count toward the Societal Computing elective requirement.
  • Additional courses in Societal Computing
  • Additional courses in SCS
  • Additional Ph.D. level courses at CMU or University of Pittsburgh. At most one can be a course at the University of Pittsburgh.
  • Societal Computing Practicum Internship (3 Units) ** Please note students must write a brief description of what was accomplished during the internship for elective credit, and graded by their advisor. Internships that require CPT approval are required to match the CMU academic schedule, if not students may be required to take OPT for the non-matching time.