Topics in Computer Science

I.     Course Prefix/Number: CSC 290

       Course Name: Topics in Computer Science

       Credits: 1-4 (0-4 lecture; 0-4 lab)

II.    Prerequisite

Varies depending on the specific topic.

III.   Course (Catalog) Description

This course will cover a variety of different topics during different semesters. Topics will be selected from among current advances in hardware and software technology. Typical course concentrations might be Introduction to Parallel Programming or Artificial Intelligence. Check with the instructor and the latest college class listings for details. The course may be repeated up to three times.

IV.   Learning Objectives

Students will learn issues, techniques, and/or applications related to the specific topic of the course section.

V.    Academic Integrity and Student Conduct

Students and employees at Oakton Community College are required to demonstrate academic integrity and follow Oakton's Code of Academic Conduct. This code prohibits:

• cheating,
• plagiarism (turning in work not written by you, or lacking proper citation),
• falsification and fabrication (lying or distorting the truth),
• helping others to cheat,
• unauthorized changes on official documents,
• pretending to be someone else or having someone else pretend to be you,
• making or accepting bribes, special favors, or threats, and
• any other behavior that violates academic integrity.

There are serious consequences to violations of the academic integrity policy. Oakton's policies and procedures provide students a fair hearing if a complaint is made against you. If you are found to have violated the policy, the minimum penalty is failure on the assignment and, a disciplinary record will be established and kept on file in the office of the Vice President for Student Affairs for a period of 3 years.

Please review the Code of Academic Conduct and the Code of Student Conduct, both located online at

VI.   Sequence of Topics

The outline of topics for course sections is, naturally, contingent on course content. What follows is an example of a course outline that is based upon an Introduction to Parallel Programming.

  1. Traditional computer architectures
    1. functional units, banked memory, I/O processors
    2. global optimization
      1. strength reduction
      2. loop unrolling
      3. precision implications
  2. Modern computer architecture
    1. SIMD
      1. array processors
      2. vector processors
    2. MIMD
      1. shared memory
      2. distributed memory
      3. hybrid models
    3. dependency analysis
  3. Algorithms
    1. recursive doubling
      1. recurrence relations
      2. associative binary operations
    2. domain decomposition
      1. numerical methods
      2. sorting
    3. scheduling algorithms
      1. computational linear algebra
  4. Communications Issues & Performance
    1. monitors and locks
    2. processor/memory topologies
    3. Bernstein's dependency conditions
    4. Amdahl's Law
  5. Languages (note that not all may be covered)
    1. Fortran/C++
      1. Open MP directives
      2. MPI
    2. IBM X10
    3. Cray Chapel

VII.  Methods of Instruction

Lectures, class discussions, individual and group computer laboratory projects.
Course may be taught as face-to-face, hybrid or online course.

VIII. Course Practices Required

Reading of the text and/or handouts is required as a reference to the materials and the techniques under study.

IX.   Instructional Materials

Note: Current textbook information for each course and section is available on Oakton's Schedule of Classes.

X.    Methods of Evaluating Student Progress

Quizzes, examinations, final examination, individual and group computer laboratory assignments.

XI.   Other Course Information

If you have a documented learning, psychological, or physical disability you may be entitled to reasonable academic accommodations or services. To request accommodations or services, contact the Access and Disability Resource Center at the Des Plaines or Skokie campus. All students are expected to fulfill essential course requirements. The College will not waive any essential skill or requirement of a course or degree program.

Oakton Community College is committed to maintaining a campus environment emphasizing the dignity and worth of all members of the community, and complies with all federal and state Title IX requirements.

Resources and support for
  • pregnancy-related and parenting accommodations; and
  • victims of sexual misconduct
can be found at

Resources and support for LGBTQ+ students can be found at

Electronic video and/or audio recording is not permitted during class unless the student obtains written permission from the instructor. In cases where recordings are allowed, such content is restricted to personal use only. Any distribution of such recordings is strictly prohibited. Personal use is defined as use by an individual student for the purpose of studying or completing course assignments.

For students who have been approved for audio and/or video recording of lectures and other classroom activities as a reasonable accommodation by Oakton’s Access Disabilities Resource Center (ADRC), applicable federal law requires instructors to permit those recordings. Such recordings are also limited to personal use. Any distribution of such recordings is strictly prohibited.

Violation of this policy will result in disciplinary action through the Code of Student Conduct.