COMPUTER SYSTEMS RESEARCH
COURSE SYLLABUS
Fall/Spring 2009 - 2010

GOALS: The student in Computer Systems Research will:

  1. Pursue a research project in a computer science or computational science concentration area. Example areas are:

    The TJHSST Computer Systems Laboratory supports student research in theoretical and applied computer science and computational science. As can be seen from the list above, projects fall within a broad spectrum of computer science areas spanning computer graphics, artificial intelligence, computer vision, high performance computing, grid/distributed computing, computational science applications, agent based modeling of complex systems including social complexity, software design, and theoretical algorithmic development of ideas as varied as tree data structures to ant colony search optimization. Our Computer Systems Laboratory emphasizes a multilingual computer language community, featuring C and C++, Java, Python, Ruby, XML, PHP, Perl, MySQL, JavaScript, Tk, OpenGL, Fortran, Lisp, and MASON (Multi-Agent Simulator of Neighborhoods) and NetLogo for modeling.

  2. Each student is expected to complete a research portfolio consisting of:

  • Students are expected to comply with TJ's Network Guidelines agreement

    DESCRIPTION: With the extensive research software resources available in the Computer Systems Lab, each student will have an opportunity to explore both theoretical and applied computer science topics.

    Students are encouraged to:

    One credit in Technology Research (such as this course in Computer Systems Research) is required for graduation from TJHSST.

    CLASSROOM BEHAVIOR: In order to maintain an environment conducive to learning, all students need to be courteous, to participate in class discussions, and to ask questions to clarify concepts. The computer labs are not playgrounds. Any student who uses unauthorized software, enters restricted directories, or in any way causes a problem with the computers will be referred to the administration. See Network Users for greater details of the rules regarding computer use.

    PLAGIARISM and INTEGRITY: Honesty and academic integrity are important values of the TJ community. Ideally, no person should feel the need to take ethical shortcuts. This class encourages collaboration and sharing, which means talking together about software programming, planning, and testing concerns. Plagiarism, copying another person's work and presenting it as your own, is an offense with consequences. Note that the inability to explaing one's code, processes, and algorithms is a strong indicator of plagiarism. The teacher is required to report plagiarism to the student's counselor and grade level administrator.

    GRADING: The student's grade is determined quarterly by performance on their research project portfolio.

    Each student must maintain adequate records to support their research efforts. These records include specifics for iterative planning, designing, coding, and testing of your project's components.

    Grades will be computed on a percentage basis, and the resulting percentage will yield the letter grade for the term.

    ABSENCE/MAKE-UP Work Policy: Work missed due to an absence must be made up. You will receive full credit when making up work due to an excused absence; make-ups due to an unexcused absence will receive no credit but you are responsible for the material on assessments (quizzes and tests). Make-up work must be completed within five school days of your return to class. You may complete activities such as labs before school, during lunch, or during 8th period, or (by arrangement) after school. Failure to make-up work will result in a zero for the assignment. It is your responsibility to initiate the process and complete the work. In special cases (e.g., hospitalization, a trip representing the school in a symposium or competition, etc.) arrangements will be made that are fair to both you and the discipline being taught.

    FINAL CREDIT: If your final portfolio in 4th quarter lacks any necessary components, you risk receiving no credit for the entire year.

    The grading scale is that approved by Fairfax County Public Schools:

    A 92.5% - 100% 4.0
    A- 89.5 - <92.5 3.7
    B+ 86.5 - <89.5 3.3
    B 82.5 - <86.5 3.0
    B- 79.5 - <82.5 2.7
    C+ 76.5 - <79.5 2.3
    C 72.5 - <76.5 2.0
    C- 69.5 - <72.5 1.7
    D+ 66.5 - <69.5 1.3
    D 64 - <66.5 1.0
    F BELOW 64 0.0 After this percentage is calculated, this course is weighted as an honors course and receives an additional 0.5 quality point value

    ATTENDANCE: In accordance with TJ's policy, 3 unexecused absences results in an F for the quarter. 3 unexcused tardies to class = 1 unexcused absence.

    Contact Information:
    Email: rdlatimer@fcps.edu, rdlatimer@tjhsst.edu
    Blackboard: http://fcps.blackboard.com
    The Blackboard assignment links are also on http://www.tjhsst.edu/~rlatimer

    Summary of assignments for the year, for each quarter:

    Webpage portfolio assignments: http://www.tjhsst.edu/~rlatimer/assignments2009/compsys2009.html

    1. Weekly logs/record keeping of your progress.
    2. Estimations and timelines for planning your project's progress. Use an iterative model, iterate in 2-3 week cycles:
      1. Plan
      2. Design
      3. Code
      4. Test
      5. Analyze and re-evaluate for the next iteration cycle
    3. Writing your project proposal and project title - due as soon as you can 1st quarter
    4. Research in your project area: literature reviews (for example portal.acm.org Digital library and arxiv.org from Cornell U., George Mason Univ library access – sign up for an account)
    5. Testing your program, analyzing results
    6. Describing the development of your program, orally and written
    7. Writing 1st, 2nd, 3rd*, 4th quarter versions of (*note that for scheduling and planning your project – most of your project needs to be completed by the end of 3rd quarter):
      1. research paper (LaTeX and pdf)
      2. poster
      3. presentation slides
      4. program code and description of analysis
    8. Other relevant work you've done
    9. Writing the one page Project Description 4th quarter

    **Note that you cannot pass the course and cannot receive credit for this course without handing in final versions of this portfolio, no matter how you've scored in grading for 1st-3rd quarters

    Computer Systems Lab, Research Areas

    1. Topics from the Compsys Lab's Elective coursework:
      1. AI 1 Topics: Graphs and Search Techniques, Games and Learning, Genetic Algorithms and learning
      2. AI 2 Topics: Image processing and computer vision, algorithms for learning using constraints, agent based modeling and learning, neural networks and learning
      3. Parallel Computing 1 Topics: Compression Techniques, Numerical simulation, Parallization methods, Gridding strategies
      4. Parallel Programming 2 Topics: Cellular Automata and parallelization, Threads and sockets, 3D Graphics, Parallel platforms and parallel thinking

    2. General computer science topics for research:
      • Artificial intelligence and machine learning/neural networks, data mining, game programming with intelligence
      • 3D computer graphics, virtual realities
      • Agent based modeling, cellular automata on the edge of chaos, evolutionary programming, complex systems, particle swarm optimization (PSO), ant colony optimization (ACO), MASON agent based toolkit
      • System dynamics, Netlogo Systems Dynamics model, environmental model, agent based predator prey model of Lotka-Volterra from NetLogo
      • Computer vision and image processing, edge detection, object recognition
      • Parallel, distributed computing, evolution of MPI (Message Passing Interface)
      • Computational science: Bioinformatics, computational linguistics, computational epidemiology, computational paleontology
      • Applications involving tools such as Matlab or BLAST
      • Programming languages
      • Software engineering, technologies and practices of project management, unified modeling language
      • Computer programming in education
      • Projects to benefit the school such as the student Intranet
      • Compute systems and networks, topologies of clusters (for system administrators)
      • Other areas, such as computer music

    3. Webpage portfolio assignments: http://www.tjhsst.edu/~rlatimer/assignments2009/compsys2009.html