Computer Systems Lab TJHSST. 2 Philosophy Creativity Opensource accessibility to knowledge Research...

49
Computer Systems Lab TJHSST

Transcript of Computer Systems Lab TJHSST. 2 Philosophy Creativity Opensource accessibility to knowledge Research...

Page 1: Computer Systems Lab TJHSST. 2 Philosophy Creativity Opensource accessibility to knowledge Research Information and resource availability.

Computer Systems LabTJHSST

Page 2: Computer Systems Lab TJHSST. 2 Philosophy Creativity Opensource accessibility to knowledge Research Information and resource availability.

2

Philosophy

• Creativity• Opensource accessibility to knowledge• Research• Information and resource availability

Page 3: Computer Systems Lab TJHSST. 2 Philosophy Creativity Opensource accessibility to knowledge Research Information and resource availability.

3

TJ 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

Page 4: Computer Systems Lab TJHSST. 2 Philosophy Creativity Opensource accessibility to knowledge Research Information and resource availability.

4

TJ 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

Page 5: Computer Systems Lab TJHSST. 2 Philosophy Creativity Opensource accessibility to knowledge Research Information and resource availability.

5

TJ 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

Page 6: Computer Systems Lab TJHSST. 2 Philosophy Creativity Opensource accessibility to knowledge Research Information and resource availability.

6

TJ 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

Page 7: Computer Systems Lab TJHSST. 2 Philosophy Creativity Opensource accessibility to knowledge Research Information and resource availability.

7

Electives – Computer Systems Lab

• Artificial Intelligence• High Performance Computing and

Supercomputer Applications• Computer Architecture• Comparative Languages

Page 8: Computer Systems Lab TJHSST. 2 Philosophy Creativity Opensource accessibility to knowledge Research Information and resource availability.

8

Computer Science at TJHSSThttp://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.

Page 9: Computer Systems Lab TJHSST. 2 Philosophy Creativity Opensource accessibility to knowledge Research Information and resource availability.

9

Computer Science at TJHSSThttp://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.

Page 10: Computer Systems Lab TJHSST. 2 Philosophy Creativity Opensource accessibility to knowledge Research Information and resource availability.

10

Computer Science at TJHSSThttp://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.

Page 11: Computer Systems Lab TJHSST. 2 Philosophy Creativity Opensource accessibility to knowledge Research Information and resource availability.

11

Computer Science at TJHSSThttp://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).

Page 12: Computer Systems Lab TJHSST. 2 Philosophy Creativity Opensource accessibility to knowledge Research Information and resource availability.

12

Computer Science at TJHSSThttp://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.

Page 13: Computer Systems Lab TJHSST. 2 Philosophy Creativity Opensource accessibility to knowledge Research Information and resource availability.

13

Computer Science at TJHSSThttp://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.

Page 14: Computer Systems Lab TJHSST. 2 Philosophy Creativity Opensource accessibility to knowledge Research Information and resource availability.

14

Computer Science at TJHSSThttp://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.

Page 15: Computer Systems Lab TJHSST. 2 Philosophy Creativity Opensource accessibility to knowledge Research Information and resource availability.

15

Computer Science at TJHSSThttp://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.

Page 16: Computer Systems Lab TJHSST. 2 Philosophy Creativity Opensource accessibility to knowledge Research Information and resource availability.

16

Artificial 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

Page 17: Computer Systems Lab TJHSST. 2 Philosophy Creativity Opensource accessibility to knowledge Research Information and resource availability.

17

Supercomputer 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

Page 18: Computer Systems Lab TJHSST. 2 Philosophy Creativity Opensource accessibility to knowledge Research Information and resource availability.

18

Computer 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

Page 19: Computer Systems Lab TJHSST. 2 Philosophy Creativity Opensource accessibility to knowledge Research Information and resource availability.

19

Comparative 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

Page 20: Computer Systems Lab TJHSST. 2 Philosophy Creativity Opensource accessibility to knowledge Research Information and resource availability.

20

Comparative 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

Page 21: Computer Systems Lab TJHSST. 2 Philosophy Creativity Opensource accessibility to knowledge Research Information and resource availability.

21

Comparative 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

Page 22: Computer Systems Lab TJHSST. 2 Philosophy Creativity Opensource accessibility to knowledge Research Information and resource availability.

22

Comparative 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.

Page 23: Computer Systems Lab TJHSST. 2 Philosophy Creativity Opensource accessibility to knowledge Research Information and resource availability.

23

Comparative 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.

Page 24: Computer Systems Lab TJHSST. 2 Philosophy Creativity Opensource accessibility to knowledge Research Information and resource availability.

24

GMU 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

Page 25: Computer Systems Lab TJHSST. 2 Philosophy Creativity Opensource accessibility to knowledge Research Information and resource availability.

25

GMU 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

Page 26: Computer Systems Lab TJHSST. 2 Philosophy Creativity Opensource accessibility to knowledge Research Information and resource availability.

26

GMU 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

Page 27: Computer Systems Lab TJHSST. 2 Philosophy Creativity Opensource accessibility to knowledge Research Information and resource availability.

27

Computer 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

Page 28: Computer Systems Lab TJHSST. 2 Philosophy Creativity Opensource accessibility to knowledge Research Information and resource availability.

28

Computer Systems ResearchLab Requirements

• Project proposal• Formal research paper• Oral presenations• Poster display• Project website/notebook folder• Logs

Page 29: Computer Systems Lab TJHSST. 2 Philosophy Creativity Opensource accessibility to knowledge Research Information and resource availability.

29

Computer 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

Page 30: Computer Systems Lab TJHSST. 2 Philosophy Creativity Opensource accessibility to knowledge Research Information and resource availability.

30

Computer 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

Page 31: Computer Systems Lab TJHSST. 2 Philosophy Creativity Opensource accessibility to knowledge Research Information and resource availability.

31

Computer 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

Page 32: Computer Systems Lab TJHSST. 2 Philosophy Creativity Opensource accessibility to knowledge Research Information and resource availability.

32

Computer 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

Page 33: Computer Systems Lab TJHSST. 2 Philosophy Creativity Opensource accessibility to knowledge Research Information and resource availability.

33

Computer 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

Page 34: Computer Systems Lab TJHSST. 2 Philosophy Creativity Opensource accessibility to knowledge Research Information and resource availability.

34

Computer 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?

Page 35: Computer Systems Lab TJHSST. 2 Philosophy Creativity Opensource accessibility to knowledge Research Information and resource availability.

35

Computer 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?

Page 36: Computer Systems Lab TJHSST. 2 Philosophy Creativity Opensource accessibility to knowledge Research Information and resource availability.

36

Computer Systems ResearchPeer/Faculty Review

• Student Posters and Papers 2005 -– http://www.tjhsst.edu/~rlatimer/

assignments2004/posters05.html – or see top of www.tjhsst.edu/~rlatimer

Page 37: Computer Systems Lab TJHSST. 2 Philosophy Creativity Opensource accessibility to knowledge Research Information and resource availability.

37

Computer Systems ResearchResearch Writing Resources

• Mayfield Handbook for Technical and Scientific Writing

• Detailed online resource• Elements of Technical Documents• Front matter, Body, End matter

Page 38: Computer Systems Lab TJHSST. 2 Philosophy Creativity Opensource accessibility to knowledge Research Information and resource availability.

38

Intel Science Talent SearchSieman's Westinghouse Comp.

• Review of Abstracts, Titles from recent years

• Which are applicable to computer science?

Page 39: Computer Systems Lab TJHSST. 2 Philosophy Creativity Opensource accessibility to knowledge Research Information and resource availability.

39

Linux 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...

Page 40: Computer Systems Lab TJHSST. 2 Philosophy Creativity Opensource accessibility to knowledge Research Information and resource availability.

40

Computer Systems LabHardware

• Linux workstations• Mosix Cluster (being constructed)• Cray SV1, 16 processors

– C, Fortran, vector processing– Parallel programming, MPI, PVM

Page 41: Computer Systems Lab TJHSST. 2 Philosophy Creativity Opensource accessibility to knowledge Research Information and resource availability.

41

Computer 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

Page 42: Computer Systems Lab TJHSST. 2 Philosophy Creativity Opensource accessibility to knowledge Research Information and resource availability.

42

Computer 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

Page 43: Computer Systems Lab TJHSST. 2 Philosophy Creativity Opensource accessibility to knowledge Research Information and resource availability.

43

Computer 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

Page 44: Computer Systems Lab TJHSST. 2 Philosophy Creativity Opensource accessibility to knowledge Research Information and resource availability.

44

Computer 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

Page 45: Computer Systems Lab TJHSST. 2 Philosophy Creativity Opensource accessibility to knowledge Research Information and resource availability.

45

Computer 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

Page 46: Computer Systems Lab TJHSST. 2 Philosophy Creativity Opensource accessibility to knowledge Research Information and resource availability.

46

Computer 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

Page 47: Computer Systems Lab TJHSST. 2 Philosophy Creativity Opensource accessibility to knowledge Research Information and resource availability.

47

Computer 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

Page 48: Computer Systems Lab TJHSST. 2 Philosophy Creativity Opensource accessibility to knowledge Research Information and resource availability.

48

Computer 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

Page 49: Computer Systems Lab TJHSST. 2 Philosophy Creativity Opensource accessibility to knowledge Research Information and resource availability.

49

Computer 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