html5-img
1 / 80

Computer Systems Lab TJHSST

Computer Systems Lab TJHSST. Philosophy. Creativity Opensource accessibility to knowledge, information and resources Research and development Writing and documentation of your research. 2. Research Areas in CS.

Audrey
Télécharger la présentation

Computer Systems Lab TJHSST

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Computer Systems LabTJHSST

  2. Philosophy • Creativity • Opensource accessibility to knowledge, information and resources • Research and development • Writing and documentation of your research 2

  3. Research Areas in CS • Artificial Intelligence and Machine Learning:Can I write a program that can learn on its own to accomplish a particular task or solve a problem? • 3D Computer Graphics:Can I visualize a physical situation realistically with a computer program? • Computer Vision:Can a computer program see, distinguish, and analyze objects in an image? • Modeling of Complex Systems,numerically and graphically:Can I simulate a complex environment and mathematical model. How closely can my simulation match and predict reality? 3 3

  4. Research Areas in CS • Distributed and Parallel Programming methods for high performance computing: For a complex programming task, can I take advantage of processing in parallel across multiple processors? • Software Design, Object Oriented Programming: What are optimal techniques for large scale applications with large user bases and a need for long term modifications and updates? 4 4 4

  5. TJ Techabs Portfolio Skills • Writing – Technical Research Paper • Visual presentation – Digital poster • Oral presentation – PPT slides of the research • Research – Your project • Long term project development – iterative models • Record keeping - Logs • Peer evaluation 5 5

  6. Computer Systems ResearchLab Requirements • Project proposal • Formal research paper • Oral presenations • Poster display • Project website/notebook folder • Logs 6 6

  7. Electives – Computer Systems Lab • Artificial Intelligence • High Performance Computing and Supercomputer Applications • Computer Architecture • Comparative Languages 7 7

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

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

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

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

  12. Research Models(from Pasteur's Quadrant (1997) Donald Stokes) • Pure basic research:Can I create a logarithmic, randomly accessible data structure? Can I create a hybrid machine learning system? • Use-inspired basic research:Can I create a 3D visualization package for graphics modeling for a Physics course? Can I create a program that can learn on its own how to translate text from one language to another for people to obtain web-based translations? • Pure applied research:Can I write a student Intranet program for a high school? The program needs to be robust and maintainable by future students for many years. 12 12

  13. Research Models(from Pasteur's Quadrant (1997) Donald Stokes) 13

  14. Software Testing and Analysis of Your Program • Dynamic Testing:Random tests, Structural tests, Functional tests, Path and branch testing. • Process Modeling: - Finding a formula to verify and validate your program's behavior. • Requirements and Specifications: - Defining requirements and the specifications for verifying these requirements. 14 14

  15. Lifecycle Models for the Development Process (from Rapid Development by McConnell) • Spiral Model - breaks a software project up into miniprojects.Each miniproject addresses one or more major risks. Each iteration moves your project to a larger scale. • Evolutionary Prototyping - develop the system concept as you move through the project. You may begin by developing the most visible aspects of the system. Useful when requirements may change throughout your project or when you're unsure of the optimal architecture or algorithms to use. • Staged Delivery - you show software results in successively refined stages. Unlike evolutionary prototyping, when you use staged delivery, you know exactly what you're going to build when you set out. 15 15

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

  17. Computer Systems LabExample Projects 17 17

  18. Student Intranet – Software Engineering • A new platform is developed implementing paradigms in object-oriented programming and collaborative development. 18 18

  19. Development of an Object-Oriented Module-based Extensible Student Intranet Web Application in PHP5A new platform, known as Intranet2, implements paradigms in Object-Oriented programming and collaborative development in the creation of a new student Intranet. 19 19

  20. Implementation of Steganographic Techniques - Cryptography • The purpose of this project is to design a steganographic program in C++ capable of hiding a message within a WAV file, and then later extracting the hidden message. It should be able to work with any WAV formatted sound file, and the message ideally will not be detectable. 20 20 20

  21. Implementation of Steganographic TechniquesThe purpose of this research will be to investigate various methods of steganography (hiding data within different media). I will develop a new program to hide data within the WAVE file type. The first part of the program itself will be able to accept two inputs: the 'clean' file and the hidden message. It will then combine the two and output a 'doctored' file with the hidden message inside it. The second part of the program will be able to reverse the process, receiving a 'doctored' file as input and extracting the hidden message. 21

  22. NetChat Communications System – Software Engineering, Distributed platforms • The creation of a network communication system that will use methods of transferring data between a server and a client using an XML protocol. 22 22

  23. NetChat Communications SystemsThe project involves creating a method of transferring data between a server and client using an XML-based protocol. This framework would be extended into the form of an application called “NetChat”. Using the developed framework, NetChat would be capable of sending data back and forth in the form of instant messages, email, news feeds, along with various other means of communication. 23 23

  24. Image Filter Techniques – Image Processing, Computer Vision • This project explores digital image filtering techniques by comparing the median and frequency filters. By testing the filters with images varying in object type (people, landscapes, or objects) and noise composition, the project determines the advantages and disadvantages of each in specific situations.een a server and a client using an XML protocol. 24 24 24

  25. Image Filter TechniquesThis project explores digital image filtering techniques by comparing the median and frequency filters. By testing the filters with images varying in object type (people, landscapes, or objects) and noise composition, the project determines the advantages and disadvantages of each in specific situations. 25

  26. Logarithmic Randomly Accessible Data Structure - Algorithms • Making a data structure that performs like a dynamic array but functions in logarithmic time for all operations is the goal. By using a binary tree in which values are stored at the leaf nodes and each node keeps track of how many leaves there are below it, we can quickly achieve logarithmic random access, insertion and deletion in the average case but all operations are linear on the worst case. 26 26 26 26

  27. Logarithmic Randomly Accessible Data StructureMaking a data structure that performs like a dynamic array but functions in logarithmic time for all operations is the goal. By using a binary tree in which values are stored at the leaf nodes and each node keeps track of how many leaves there are below it, we can quickly achieve logarithmic random access, insertion and deletion in the average case by all operations are linear on the worst case. 27

  28. Graphical Display of a Physics Simulation – Computer Modeling • The purpose is to make a physics simulation that will display objects placed by the user graphically and display information about those objects on a graphical user interface. The goal is to allow the user to place any combination of objects, including particles, springs, and ramps, in a graphical display, input values for these objects, and run a simulation that will track these values and display the interactions and positions of the objects graphically in two-dimensions. 28 28 28 28 28

  29. Computer Graphics and Physics SimulationsA physics simulation, in order to adequately demonstrate physical laws and predict an unlimited number of scenarios, must implement a broad range of mathematical equations and provide the user with the ability to set up a scenario with whatever number of objects and arrangements of these objects that he desires. The goal of this project is to create such a simulation. 29

  30. Modeling of Complex Systems: Economics • The stock market is an example of a complex system, made up of millions of interactions between different investors and affected by every action made by thousands of companies. Economic theory suggests that the actions of investors are governed by few well informed primary investors. Primary catalysts may be news reports, press releases, income reports, etc, and it may be possible to predict trends across the market by analyzing news on stocks. 30 30 30 30 30 30

  31. Economic ModelingMy project is involved with using data mining techniques on the internet in order to gather enough information for the use of a genetic algorithm in trend analysis of a complex system; e.g., the stock market. The most fundamental element of my program is creating a correlation between news about a company and its stock and the price of the stock itself. 31

  32. Creation of a Domain Specific Computer Language – Computer Language Design • A domain-specific language (DSL) is a programming language designed to be used for a specific and limited set of tasks. Using metaprogramming techniques, I designed IFAlpha, a DSL hosted within Ruby for creating interactive fiction games. My goal was to create an intuitive and expressive language for creating Interactive Fiction (IF) games while hiding the details of implementation from the programmer. 32 32 32 32 32 32 32

  33. Creation of a Domain-Specific Computer LanguageThe purpose of my project is to explore programming language design and metaprogramming techniques in Ruby through the creation of a DSL for creating Interactive Fiction games. My vision is to create an intuitive interface for the game writer. The value in the project is to be found in both the technical implementation and the design of the interface. My goal is to create a programming language interface that is easy for a non-programmer end-user to use writing IF games that hides implementation details while allowing expressiveness. 33

  34. Decentralized Distributed Processing – Distributed Programming • The purpose of this project is to produce a medium for distributing the load of enormous tasks to networked peers with varying computing power in an efficient manner. This will distribute the work load from one computer to other computers within a network of peer computers by sending portions of the data and the proper analytical tools to all of the specified peers while also computing various peer's tasks. 34 34 34 34 34 34 34 34

  35. Decentralized Distributed ProcessingWith the enormous amount of data being collected every day, a single computer's CPU's computational ability to analyze the data and to utilize meaning behind the data is less than satisfactory. In order to mine through of the data within certain time constraints, a collection of computers is needed. The purpose of this project is to produce a medium for distributing the load of enormous tasks to networked peers with varying computing power in an efficient manner. 35

  36. Machine Learning and Computational Linguistics • Using statistical processes in text translation. 36 36

  37. French/English Translation and Computational LinuguisticsThis project uses computational linguistics to serve students of French or English as a second language as well as those who know only one of these languages. The program will translate French to English and English to French well enough to be understandable to someone who knows only the output language. This is useful for surfing the web, reading texts in a foreign language, and communication with someone from another country. It can also be used for students to check their writing by translating back to their native tongue. 37 37

  38. Machine Learning Processes: Genetic Algorithms • The program works like a general genetic evolutionary process. First, the parameters, cost, and cost function are defined. An initial population is created, and the cost is evaluated for each individual in the population. Pairs are selected to reproduce, and mutations may occur. The resulting population is tested and if the desired result is obtained the program stops. Otherwise, the process begins again with the cost evaluation step. 38 38 38

  39. Machine Learning AlgorithmsThe purpose of this project is to create a program that can play a game at an expert level. The program will probably use alpha-beta pruning or genetic algorithms, two common algorithms of AI. Genetic algorithms use parent states to create child states, while alpha-beta pruning looks for the best move at the moment. The results of the genetic algorithm and the alpha-beta pruning can be compared to find an optimum AI for playing the game. 39

  40. The Dynamics of Cellular Automata – Artificial Life • John Conway's Game of Life showed that simple rules can generate amazingly complex patterns. Using variations of the rules he devised, one can learn about the advantages of different sets of rules and the implications for simple evolution and chaos theory. 40 40 40 40

  41. Cellular Automata DynamicsCellular automata grids can be used to show that simple rules can generate complex patterns. Using variations of rules devised from John Conway's Game of Life, one can learn about the advantages of different sets of rules and the implications for simple evolution and chaos theory. 41

  42. Computer Modeling: TJ's Hallways and Student Traffic • The purpose of this project is to create a simulation of the students and teachers at Jefferson moving around the building. This simulation is meant to be accurate based on time and location. 42 42 42 42 42

  43. TJ Hall ModelingThe purpose of this project is to model TJ students in their school environment throughout a typical school day. The goal is to have dots to represent the students moving on the basis of probability to various parts of the building. If the project were completed it would allow the user to control various aspects of the day. This project is worth doing to demonstrate just how big the need is for a new building; to indirectly show that TJ is overcrowded. Students and teachers alike might be interested in seeing the results, mostly to avoid the crowded areas during their travels. 43

  44. Modular Architecture for Game Design – Software Engineering, Object Oriented Programming • Common current game architectures limit program flexibility and modularity. With the advent of middleware and the increasing complexity of games, this is no longer acceptable. This project attempts to design and implement a modular, Data-centered architecture based on the "System of Systems" approach. 44 44 44 44 44 44

  45. Modular Architecture for Game DesignCommon current game architectures limit program flexibility and modularity. In this project I will attempt to design and implement a highly modular, Data-centered architecture based on the "System of Systems" approach. The final implementation need not have any significant complexity within each system (e.g. graphics, AI, etc.) but rather must demonstrate the successful interaction of independent systems. 45

  46. Music Compositional Software Development – Computer Music • Music editing software may be expensive, complicated, and could be improved as a teaching tool. A new, free software designed for amateur composers and music students requires a less powerful editing system and can incorporate learning tools to aid teachers in teaching music theory to students. 46 46 46 46 46 46 46

  47. Compositional Software DevelopmentThe purpose of this project is to make an easy to use composition aid software that incoporates a simple and intuitive GUI into a robust highly capable system of music display. 47

  48. Map Path Finding with Realistic Conditions – AI Search Algorithms • An abstract representation of a map will be used to incorporate realistic conditions along with a visual display. The project can be used as a tool for educating students on different types of search algorithms, memory efficiency, and runtimes. Realistic aspects of traffic movement such as traffic light and stop sign delays can provide better paths through a map. 48 48 48 48 48 48 48 48

  49. Map Path Finding and Efficient Search TechniquesMy project will deal with maps and pathfinding. The primary goal of the project would be to use an extension of the A* search algorithm to find both the shortest distance path and the fastest path through a given graph - an abstract representation of a real life map. Eventually, I hope to include realistic artificial intelligence concepts such as speed limits and street lights. A random graph generator will also be created. 49

  50. Human Cognitive Emulation – Computer Modeling in Psychology • This project attempts to recreate accurate human responses to stimuli. Using a survey format, this experiment hopes to produce a unique response to a stimuli based on information gained about the user. This lab can perhaps draw broad conclusions about groups of people and how they respond, combined with other techniques of emulating human thought patterns, computers can become closer and closer to accurately representing a human cognition. 50 50 50 50 50 50 50 50 50

More Related