Title: Computer Systems Lab TJHSST
1Computer Systems LabTJHSST
2Philosophy
- Creativity
- Opensource accessibility to knowledge
- Research
- Information and resource availability
2
3TJ Techlabs
- Astronomy
- Co-req Astronomy - The Universe or Solar System
- Automation and Robotics
- Recom Princ. of Robotics I, II, Analog/Digital
Elec., Pre-engineering, Prototype Dev. - Chemical Analysis
- Pre-req AP Chemistry
- Computer Assisted Design
- Pre-req CAD, Recom Arch. Drawing,
Engineering Drawing, Pre-engineering
3
4TJ Techlabs
- Computer Systems
- Pre-req AP Computer Science
- Recom Intro. to AI, Comp. Arch, Supercomputer
Apps - Energy Systems
- Recom Pre-engineering, Analog Elec., Nature of
Materials, CAD - Biotechnology
- Pre-req Bio elective, Bio-tech elective, or
Chem. elective, Recom DNA Science 1 - Microelectronics
- Recom Analog, Digital, or Audio Electronics, or
Microprocessor Design
4
5TJ Techlabs
- Oceanography and Geophysics
- Recom Marine Biology
- Optics and Modern Physics
- Recom Advanced Optics Apps or Quantum Mechanics
and Dev. in Modern Physics - Prototyping and Engineering Materials
- Recom Prototype Dev. and Processing or Nature of
Materials - Video Technology
- Pre-req Videotech and Communications
- Recom Analog Electronics, Audio Electronics, or
Photography
5
6TJ Techlabs - PortfolioSkills We Stress
- Writing Technical Research Paper
- Visual presentation Digital poster
- Oral presentation PPT slides of the research
- Research
- Long term project development iterative models
- Working individually and in teams
- Record keeping
- Peer evaluation
6
7Electives Computer Systems Lab
- Artificial Intelligence
- High Performance Computing and Supercomputer
Applications - Computer Architecture
- Comparative Languages
7
8Computer Science at TJHSST
- http//www.tjhsst.edu/compsci
- Full four-year sequence in Computer Science.
- The Computer Science Team is part of the Math/CS
Division and the Computer Systems Lab is part of
the Science and Technology Division. - Our collective goal is to provide a world class
Computer Science education to our students and to
disseminate curriculum materials to other
academic institutions.
8
9Computer Science at TJHSST
- http//www.tjhsst.edu/compsci
- Introduction to Computer Science
- A mandatory course for all TJ students, the
intro. course assumes no prior programming
experience. Students study object-oriented
programming and develop fundamental programming
skill. In preparation for the AP course, Java is
the language of instruction. -
9
10Computer Science at TJHSST
- http//www.tjhsst.edu/compsci
- AP Computer Science
- An elective course available to all students who
have completed Introduction to Computer Science,
APCS follows the College Board topic outline.
This course carries an additional 0.5 quality
point in GPA calculation and pepares students to
take the APCS Exam given each May.
10
11Computer Science at TJHSST
- http//www.tjhsst.edu/compsci
- Accelerated Computer Science
- A non-traditional route designed for experienced
programmers only, this course requires
exceptional problem solving skills (by TJ
standards).
11
12Computer Science at TJHSST
- http//www.tjhsst.edu/compsci
- Summer School
- How better to spend five weeks of summer than
learning Computer Science with 140 of your
closest TJ friends. A great way to fit more into
your cramped schedule, the summer school program
thrives because of students aides (upperclassmen,
apply early). An accelerated class is usually
formed during the second week. Not only is there
an ice cream social and a pizza party, but you
may even get to work with teachers from outside
TJ. -
12
13Computer Science at TJHSST
- http//www.tjhsst.edu/compsci
- Artifical Intelligence
- A half-credit semester course requiring APCS as a
prerequisite, students program in Python in a
Linux environment. This class carries the same
extra grade point value as an AP course. - Computer Architecture
- A half-credit semester course requiring APCS as a
prerequisite, students program in C in a Linux
environment. This class carries the same extra
grade point value as an AP course. -
13
14Computer Science at TJHSST
- http//www.tjhsst.edu/compsci
- Supercomputer Applications
- A half-credit semester course with a suggested
APCS prerequisite, students program in C and
Fortran in multiple UNIX environments. This class
will get you an account on our Cray SV1
supercomputer. - Comparative Languages
- A half-credit semester course with a suggested
APCS prerequisite, students program in Python,
LISP, C, Prolog, Smalltalk, ML and other exotic
tongues in a Linux environment. Veni, vidi, vici.
14
15Computer Science at TJHSST
- http//www.tjhsst.edu/compsci
- Senior Tech Lab
- One credit in Technology Independent Research,
such as this course in Computer Systems Research,
is required for graduation from TJ.
15
16Artificial Intelligence
- Search techniques for problem solving
- Uninformed depth first, breadth first
- Heuristic hill climbing, best first, A Star
- Game playing and adversarial search
- Minimax trees
- Alpha-beta pruning
- Machine Learning
- Evolutionary computation, genetic algorithms
16
17Supercomputer and High Performance Computing
- Parallel Computing
- Speedup of processing Time/ of processors
- Sorts, searches, image processing across
matrices, fractal images - MPI Message Passing Interface
- Message sending topologies, ring/broadcast
- Time vs number of processors
- Computer Graphics in OpenGL
- 3D transformations, lighting for realism
17
18Computer Architecture
- Organization of Computer Systems
- High level language implementations down to the
digital logic level - SPIM simulator for assembly language
- History of the development of computing machines
- Evaluate current platforms
- Analyze future forecasts
18
19Comparative Languages
- Evolution of programming languages
- Syntax and semantics representation
- Machine parsing of grammars, building a compiler
- Some issues Exception handling, Concurrency,
Garbage collection - Language approaches imperative, object oriented,
functional, logic based
19
20Comparative Languages
- Scheme
- functional programming language and a dialect of
Lisp. It was developed in the 1970s, MIT. Lisp,
1958, is the second-oldest high-level
programming language in widespread use today
only Fortran is older. - Smalltalk
- object oriented programming language designed at
Xerox PARC (Xerox Palo Alto Research Center) by
Alan Kay and others during the 1970s...great
influence on the development of many other
computer languages
20
21Comparative Languages
- Prolog
- Programmation en logique (French for "logic
programming"), created by Alain Colmerauer around
1972 to make a programming language enabling the
expression of logic instead of specified
instructions on the computer. - ML
- functional programming language developed by
Robin Milner and others in the late 1970s at
Edinburgh University. CMU
21
22Comparative Languages
- C programming language
- low-level standardized programming language
developed in the early 1970s by Ken Thompson and
Dennis Ritchie for use on the UNIX operating
system. - Fortran
- compiled, programming language originally
developed in the 1950s and still heavily used for
scientific computing and numerical computation
half a century later.
22
23Comparative Languages
- Python
- interpreted, interactive programming language
created by Guido van Rossum in 1990. Used in our
AI course. - Ruby
- object-oriented language, combines syntax
inspired by Ada and Perl with Smalltalk-like
features, also shares some features with Python,
Lisp. Ruby's an interpreted language created by
Yukihiro "Matz" Matsumoto, began working on Ruby
on February 24, 1993 and released to the public
in 1995.
23
24GMU Collaborations
- CS 635 Foundations of Parallel Computing
- Fall 2004, Dr. Pearl Wang
- CS 363 Comparative Programming Languages
- Spring 2005, Dr. Elizabeth White
- CS 499 Autonomous Robotics
- Spring 2005, Dr. Sean Luke
- MASON Multiagent Simulation Toolkit
- Evolutionary Computation, Dr. Sean Luke
24
25GMU Collaborations
- Center for Social Complexity
- Dr. Claudio Cioffi-Revilla
- CSS 600 Introduction to Computational Social
Science - CSS 610 Computational Analysis of Social
Complexity - CSS 640 Human and Social Evolutionary Complexity
- CSS 643 Land-Use Modeling Techniques and
Applications
25
26GMU Collaborations
- Center for Social Complexity
- Dr. Claudio Cioffi-Revilla, Dr. Ann Palkovich
- CSS 600 Introduction to Computational Social
Science - CSS 610 Computational Analysis of Social
Complexity - CSS 640 Human and Social Evolutionary Complexity
- CSS 643 Land-Use Modeling Techniques and
Applications - CSS 645 Spatial Agent-based Models of
Human-Environment Interactions - CSS 650 Physics Methods for Analyzing Social
Complexity - CSS 660 Computational Social Science of
Spacefaring Civilization
26
27Computer Systems ResearchGoals for Students
- Pursue an individual or group research project in
computer science - Write a formal research paper in support of the
project - Develop presentation skills in support of the
project - Maintain records of individual effort and progress
27
28Computer Systems ResearchLab Requirements
- Project proposal
- Formal research paper
- Oral presenations
- Poster display
- Project website/notebook folder
- Logs
28
29Computer Systems Research1st Quarter
- Gather preliminary background materials,
references - Develop formal project proposal
- Feasability of subject matter, scope
- Algorithms, language(s), software tools
- Open ended, what can be accomplished this year
- Begin writing programs experimenting with
algorithms - Oral report on your proposal
29
30Computer Systems Research2nd Quarter
- Expanding upon research, reference materials
- Expand program in support of research goals
- Develop digital poster display
- Research paper preliminary Title, Abstract,
Introduction/Background - Oral presentation on your poster
30
31Computer Systems Research3rd Quarter
- Begin finalizing computer programs, models
- Summarization of data collected, tests, results
- Draft of your research paper
- Title, Abstract, Introduction, Background
- Development sections, what you've actually done
- Preliminary results, conclusions
31
32Computer Systems Research4th Quarter
- Final version of your research paper
- LaTeX, PDF, PS, HTML
- Final version of your digital poster
- Visuals graphs, charts, screenshots
- Oral presentation of project
32
33Computer Systems Research Resources
- Research Resources
- Research examples from universities
- Computer Science research areas
- Writing a research paper
- Mayfield Publications
- LaTeX, PDF
- Writing a proposal
- Intel and Westinghouse example projects
- Gantt charts/Time lines
33
34Computer Systems ResearchIterative Development
Model
- Periodic Iteration Progress reports
- See extremeprogramming.org
- Plan, design, goal of this iteration
- Pseudo code versions, sketches
- Commented code
- Testing, validation of this iteration's code
- What to change, develop for next iteration
- Any users for feedback?
34
35Computer Systems ResearchPeer/Faculty Review
- Peer assessments of research progress, poster and
paper feedback - Appropriate title, abstract?
- Introduction, does it lead the reader into the
body of the paper, define the research being
presented, provide background? - Research theory, code content, testing and
validation how clearly are the algorithms and
theory stated, thorough testing, analysis?
35
36Computer Systems ResearchPeer/Faculty Review
- Student Posters and Papers 2005 -
- http//www.tjhsst.edu/rlatimer/assignments2004/po
sters05.html - or see top of www.tjhsst.edu/rlatimer
36
37Computer Systems ResearchResearch Writing
Resources
- Mayfield Handbook for Technical and Scientific
Writing - Detailed online resource
- Elements of Technical Documents
- Front matter, Body, End matter
37
38Intel Science Talent SearchSieman's Westinghouse
Comp.
- Review of Abstracts, Titles from recent years
- Which are applicable to computer science?
38
39Linux Resources and Software Tools Opensource
availability
- Programming
- C/C, Java, Fortran, Python, Lisp
- PHP, Perl, HTML for WWW
- OpenGL computer graphics
- Image processing Gimp
- 2D/3D analysis - Gnuplot
- Openoffice for ppt, publishing
- LaTex, PDF, PS for scientific writing
- planner - Gantt charts, dia - flow charts,
network diagrams, UML objects, electronic
diagrams...
39
40Computer Systems LabHardware
- Linux workstations
- Mosix Cluster (being constructed)
- Cray SV1, 16 processors
- C, Fortran, vector processing
- Parallel programming, MPI, PVM
40
41Computer Systems LabAccessing from Home
- WinSCP Transfer files from Windows to the Lab
- Putty.exe work from home, connected from
Windows/Macs to Linux here - Compatable software with Windows/Macs
41
42Computer Systems LabProject Areas 2004-05
- Algorithms
- Variants of Red-Black Trees
- Agent-based modeling of complex systems
- A Study of Microevolution
- Modeling of Evolutionary Systems
- Modeling of Evacuation Centers
- Traffic Modeling
- Model of the Decomposition of the Atmosphere
42
43Computer Systems LabProject Areas 2004-05
- Modeling of Complex Systems (cont.)
- Saturnian Moon System
- Robot Swarms
- Sabermetrics Statistical Modeling in Baseball
- A Bowling Ball in Action
- Machine Learning, Evolutionary Computation
- Machine Learning to Develop a Game Playing
Strategy - Can a Robot Learn to Walk
- Assessment of Sorting Parts by Variable Slot Width
43
44Computer Systems LabProject Areas 2004-05
- Natural Language Processing, Computational
Linguistics - Part of Speech Tagging with Training Corpora
- Example Hospitality NN is BEZ an AT excellent
JJ virtue NN - NN singular common noun, BEZ is, AT article,
JJ general adjective - Computational Comparative Diachronic Historical
Linguistics - Systems Programming, Development
- Kernel Debugging API Library
44
45Computer Systems LabProject Areas 2004-05
- Computational Biology
- Investigation of Implementations of DNA Sequence
Pattern Matching Algorithms (BLAST) - Computer Architecture
- Construction and Application of a Beowulf Cluster
45
46Computer Systems LabProject Areas 2004-05
- Computer Graphics
- Polygon Mesh Rendering (03-04)
- Creating a 3D Game with Textures and Lighting
- Car Simulation and Modeling
- Computer Music
- Genetic Algorithm Music Composer
- Software Development
- Software Development Team
46
47Computer Systems LabMentorship Opportunities
- Naval Research Lab
- Artificial Intelligence
- Robotics Labs
- Computer Vision, Image Processing
- Virtual Technologies
- Software Development
- GMU Center for Social Complexity
- Agent based modeling
47
48Computer Systems LabMentorship Opportunities
- UUnet
- Internet, Network programming
- 7 layers of Internet protocol
- GMU Computer Science Department
- Artificial Intelligence, Robotics Labs
- Computer Vision, Image Processing
- Walter Reed Army Intstitute
- NIH
- Biotech, image processing programming
48
49Computer Systems LabMentorship Opportunities
- Semi-Autonomous Control of a Segway Robotic
Mobile Platform - NRL - The Effect of Sound Distortion on Hearing
Perception - NRL - Development of a Web Interface for Accessing
Chemical Information in Thor and Informix
Databases Walter Reed Army Institute - Development of a Data Measuring Application for
Federates Used in Simulations Virtual
Technologies
49