Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
student:research [2020/01/29 13:17] – Add research project description lam2modepartment:research [2024/02/09 14:23] (current) – [Lunch Meetings] stewarmc
Line 9: Line 9:
 ===== Friday Seminars and Lunch Meetings ===== ===== Friday Seminars and Lunch Meetings =====
  
-The [[CS Research Seminar Talks]] are talks given by faculty members and undergraduate research assistants on a variety of topics at the cutting edge of computer science research. Talks happen on Fridays at 12:20pm and occur roughly every couple of weeks, generally in ISAT/CS 243. The format is a 30-40 minute research talk with 10-20 minutes reserved for questions. All CS students (and other interested students and faculty) are invited to attend. Email announcements about each seminar will be sent to the CS listserv.+The [[CS Research Seminar Talks]] are talks given by faculty members and undergraduate research assistants on a variety of topics at the cutting edge of computer science research. Talks happen on Fridays at 11:30am and occur roughly every couple of weeks, generally in King 236. The format is a 30-40 minute research talk with 10-20 minutes reserved for questions. All CS students (and other interested students and faculty) are invited to attend. Email announcements about each seminar will be sent to the CS listserv.
  
-On the Fridays when there is no research seminar talk, some faculty and students involved in research projects have an informal research meeting in the form of a [[ https://www.investopedia.com/terms/b/brown-bag-meeting.asp | brown bag]] lunch at 12:20pm in ISAT/CS 246. There is generally a "quick update" session where everyone talks briefly about any ongoing research work, and often project groups will use this time as an opportunity to discuss technical topics and problems relevant to the project. Some people come to talk about their ongoing projects and others come just to hear about what is going on in the department.+==== Lunch Meetings ==== 
 +On the Fridays when there is no research seminar talk, some faculty and students involved in research projects have an informal research meeting in the form of a [[ https://www.investopedia.com/terms/b/brown-bag-meeting.asp | brown bag]] lunch (mostly brown bag means food is Bring Your Own [BYO] rather than provided) at 11:30am in King 140. There is generally a "quick update" session where everyone talks briefly about any ongoing research work, and often project groups will use this time as an opportunity to discuss technical topics and problems relevant to the project. Some people come to talk about their ongoing projects and others come just to hear about what is going on in the department.
  
 If you are interested in research but aren't sure what you'd like to do, who you would like to work with, or even how to get started, the best way to get started is to begin attending these two events. Everyone is welcome, even freshman students! If you are interested in research but aren't sure what you'd like to do, who you would like to work with, or even how to get started, the best way to get started is to begin attending these two events. Everyone is welcome, even freshman students!
Line 21: Line 22:
 The honors thesis generally consists of a three-semester sequence beginning in the Spring of your Junior year, where you enroll in a 1-credit CS499A course and work with your faculty advisor to do some preliminary research and write a project proposal. In the Fall of your Senior year, you enroll in a 3-credit CS499B and do the majority of the work. Finally, in the Spring of your Senior year, you enroll in a 2-credit CS499C and finish any leftover work while writing and finalizing your final report and/or software deliverable. You will also present your work as part of the research seminar series in your final semester. The honors thesis generally consists of a three-semester sequence beginning in the Spring of your Junior year, where you enroll in a 1-credit CS499A course and work with your faculty advisor to do some preliminary research and write a project proposal. In the Fall of your Senior year, you enroll in a 3-credit CS499B and do the majority of the work. Finally, in the Spring of your Senior year, you enroll in a 2-credit CS499C and finish any leftover work while writing and finalizing your final report and/or software deliverable. You will also present your work as part of the research seminar series in your final semester.
  
-If you are interested in this option, you should find a project or problem that you'd like to work on and request a meeting with a faculty member who might be interested in advising you. You should also look at the [[student:honors_capstone:start|CS Honors Capstone Guidelines]].+If you are interested in this option, you should find a project or problem that you'd like to work on and request a meeting with a faculty member who might be interested in advising you. You should also look at the [[department:honors_capstone:start|CS Honors Capstone Guidelines]].
  
 ===== Independent Study ===== ===== Independent Study =====
Line 30: Line 31:
  
 Of course, you can also always contribute to a project without receiving any academic credit. There are other rewards, such as the experience itself as well as a nice thing to put on your resume. If a project has funding there is also occasionally the opportunity to earn a bit of part-time income as a student research employee. All of these should be discussed individually with a faculty member that you'd like to work with. Of course, you can also always contribute to a project without receiving any academic credit. There are other rewards, such as the experience itself as well as a nice thing to put on your resume. If a project has funding there is also occasionally the opportunity to earn a bit of part-time income as a student research employee. All of these should be discussed individually with a faculty member that you'd like to work with.
 +
 ====== Participating Faculty ====== ====== Participating Faculty ======
  
Line 37: Line 39:
   * [[https://w3.cs.jmu.edu/kirkpams/index.shtml|Prof. Kirkpatrick]]   * [[https://w3.cs.jmu.edu/kirkpams/index.shtml|Prof. Kirkpatrick]]
   * [[https://w3.cs.jmu.edu/lam2mo/|Prof. Lam]]   * [[https://w3.cs.jmu.edu/lam2mo/|Prof. Lam]]
 +  * [[https://w3.cs.jmu.edu/mayfiecs/|Prof. Mayfield]]
   * [[https://w3.cs.jmu.edu/molloykp/|Prof. Molloy]]   * [[https://w3.cs.jmu.edu/molloykp/|Prof. Molloy]]
   * [[https://w3.cs.jmu.edu/spragunr/|Prof. Sprague]]   * [[https://w3.cs.jmu.edu/spragunr/|Prof. Sprague]]
Line 42: Line 45:
   * [[https://w3.cs.jmu.edu/weikleda|Prof. Weikle]]   * [[https://w3.cs.jmu.edu/weikleda|Prof. Weikle]]
  
-====== Active Projects ======+====== Groups/Labs ======
  
-Here is a short sampling of active projects conducted by JMU faculty members with students+  * [[https://w3.cs.jmu.edu/lam2mo/lab.html|High Performance Analysis]]
  
-Feel free to add your project here!+====== Links ====== 
 +  * [[https://cseweb.ucsd.edu//~wgg/CSE210/howtoread.html|How to Read a Research Paper]] 
 +  * "[[http://www.cs.unc.edu/~azuma/hitch4.html|Everything I wanted to know about C.S. graduate school at the beginning but didn’t learn until later]]"
  
-===== CRAFT and FloatSmith =====+====== Active Projects ======
  
-Most computers provide at least two different levels of floating-point precision (32-bit ''float'' and 64-bit ''double''). Many calculations do not require high levels of precision, but it is very difficult for programmers to determine which calculations do and which do not. This project aims to analyze floating-point code automatically and report which regions must be in higher precision and which regions can use lower precision. CRAFT is a general framework for floating-point analysis and FloatSmith is a tool that integrates CRAFT and some other related tools to do precision analysis on source code.+Here is a list of research projects conducted by JMU faculty members with students
  
-  * Faculty contact: Dr. Lam +Feel free to add your project here!
-  * Paper: [[ https://w3.cs.jmu.edu/lam2mo/papers/2013-Lam-ICS.pdf | "Automatically Adapting Programs for Mixed-Precision Floating-Point Computation" ]] +
-  * Paper: [[ https://w3.cs.jmu.edu/lam2mo/papers/2016-Lam-IJHPCA.pdf | "Fine-Grained Floating-Point Precision Analysis" ]] +
-  * Paper: [[ https://w3.cs.jmu.edu/lam2mo/papers/2019-Lam-Correctness.pdf | "Tool Integration for Source-Level Mixed Precision" ]] +
-  * CRAFT repository: [[ https://github.com/crafthpc/craft | GitHub ]] +
-  * FloatSmith repository: [[ https://github.com/crafthpc/floatsmith | GitHub ]] +
-  * Status: Ongoing and looking for new students! +
- +
-===== ExamGen ===== +
- +
-Writing exams is a drudgery for most professors. Often, problems must be revised or re-parameterized to avoid repeating a previous semesters' question verbatim. Faculty in Computer Science are uniquely positioned to avoid some of this monotony because we are accustomed to writing scripts and programs to automate a process. This project aims to help automate the generation of new exams using a combination of question banks, scriptable questions, and potentially some application of machine learning to balance the length and difficulty of an exam. +
- +
-  * Faculty contact: Dr. Lam +
-  * Status: On hold temporarily, but looking for new students to re-activate it! +
- +
-===== Less-Java ===== +
- +
-Less-Java is a new programming language designed for use in an introductory programming class like our CS 149. It is designed to be simple but also to contain all necessary concepts for teaching programming. We have a prototype compiler and are in the process of improving it and running user studies to validate the usefulness of the language. See the [[ https://github.com/JMU-CS/less-java/wiki/Tutorial | tutorial ]] for examples of code in Less-Java, and see our [[ https://github.com/JMU-CS/less-java/issues?q=is%3Aopen+is%3Aissue+label%3A%22help+wanted%22 | "help wanted" ]] list for areas where you can get involved! +
- +
-  * Faculty contacts: Dr. Lam and Dr. Stewart +
-  * Paper: [[ https://w3.cs.jmu.edu/lam2mo/papers/2019-Nasrawt-CCSC.pdf | "Less-Java, More Learning: +
-Language Design for Introductory +
-Programming" ]] +
-  * Less-Java repository: [[ https://github.com/JMU-CS/less-java | GitHub ]] +
-  * Status: Ongoing and looking for new students!+
  
 ===== Infill Generation for Additive Manufacturing Design ===== ===== Infill Generation for Additive Manufacturing Design =====
Line 91: Line 72:
    * Status: Ongoing and looking for new students!    * Status: Ongoing and looking for new students!
  
-===== Shadow Value Analysis =====+===== ODE Viewer =====
  
-Sometimes it is useful to run a program and perform a "shadow" calculation for every arithmetic operation. This allows you to try different precision levels or even different real-number encodingsIt also enables you to visualize the changing levels of floating-point rounding error in the program's calculations.+Ordinary Differential Equations (ODEs) are used to model changes in real-world systems using numerical simulationOften, mathematicians and scientists wish to visualize the results of these simulations and see what happens when particular parameters are changed. This is also useful to students who are learning about these systems. This project would involve extending a rudimentary tool written as part of a Summer 2021 project that was a collaboration between Dr. Lam and faculty in the Department of Mathematics and Statistics. 
 + 
 +{{ :department:odeviewer.png?400 |}}
  
   * Faculty contact: Dr. Lam   * Faculty contact: Dr. Lam
-  * Paper[[ https://w3.cs.jmu.edu/lam2mo/papers/2016-Lam-ESPT.pdf | "Floating-Point Shadow Value Analysis" ]] +  * Repository: [[https://github.com/huberbp/jmodev | GitHub]] 
-  * SHVAL repository [[ https://github.com/crafthpc/shval | GitHub ]] +  * Status: Ongoing and looking for new students!
-  * Status: On hold temporarily, but looking for new students to re-activate it!+
  
 +[[Inactive Research Projects]]