Difference: CSC122F2022Lab1FSM (1 vs. 6)

Revision 62022-08-25 - cathybareiss

Line: 1 to 1
 
META TOPICPARENT name="CSC122SylF2022"

Finite State Machine

Changed:
<
<
A finite state machine is a simple machine that will either accept or reject an input. The [[https://en.wikipedia.org/wiki/Finite-state_machine][Wikipedia article] can give you an overview and so can many other resources on the Internet. To write a program for a finite state machine can be a complex task. However, to simulate one is MUCH easier. This program is to simulate a FSM
>
>
A finite state machine is a simple machine that will either accept or reject an input. The Wikipedia article can give you an overview and so can many other resources on the Internet. To write a program for a finite state machine can be a complex task. However, to simulate one is MUCH easier. This program is to simulate a FSM
 

Objectives

  1. Refresh programming skills including use of arrays and objects
  2. Learn about finite state machines.

Assignment

  1. Complete the program that simulates a finite state machine.
Changed:
<
<
  1. You are provided with the following. All files are found on the [[http://classroom.github.com][GitHub classroom]
>
>
  1. You are provided with the following. All files are found on the GitHub classroom
 
    1. Transition.java. This class defines a single transition. Given a state and an input what is the next state.
    2. FSMDriver.java. This class contains a very simple driver. It instantiates a finite state machine from a file and then tests one string for acceptance.
    3. Simple. This is an example of a data file as follows

Revision 52022-08-23 - cathybareiss

Line: 1 to 1
Changed:
<
<
META TOPICPARENT name="CSC122SylS2022"
>
>
META TOPICPARENT name="CSC122SylF2022"
 

Finite State Machine

A finite state machine is a simple machine that will either accept or reject an input. The [[https://en.wikipedia.org/wiki/Finite-state_machine][Wikipedia article] can give you an overview and so can many other resources on the Internet. To write a program for a finite state machine can be a complex task. However, to simulate one is MUCH easier. This program is to simulate a FSM

Revision 42022-08-22 - cathybareiss

Line: 1 to 1
 
META TOPICPARENT name="CSC122SylS2022"

Finite State Machine

Line: 29 to 29
 It is very likely that there are programs that can be downloaded that can simulate a FSM. You are not allowed to even look at these. The code provided is what you should use. This assignment is to bring back your programming skills.

Challenges

  1. Don't use some/all of the provided code. If this is the case, indicate in an obvious way that you did this in your SDR.
\ No newline at end of file
Added:
>
>
  1. For extra credit, do lab 2 (but only when lab 1 is done!)
 \ No newline at end of file

Revision 32022-08-18 - cathybareiss

Line: 1 to 1
 
META TOPICPARENT name="CSC122SylS2022"

Finite State Machine

Added:
>
>
 A finite state machine is a simple machine that will either accept or reject an input. The [[https://en.wikipedia.org/wiki/Finite-state_machine][Wikipedia article] can give you an overview and so can many other resources on the Internet. To write a program for a finite state machine can be a complex task. However, to simulate one is MUCH easier. This program is to simulate a FSM

Objectives

Changed:
<
<
  1. Refresh programming skills including use of arrays and objects
  2. Learn about finite state machines.
>
>
  1. Refresh programming skills including use of arrays and objects
  2. Learn about finite state machines.
 

Assignment

Changed:
<
<
  1. Complete the program that simulates a finite state machine.
  2. You are provided with the following. All files are found on the shared drive for the class in the lab 1 folder.
    1. Transition.java. This class defines a single transition. Given a state and an input what is the next state.
    2. FSMDriver.java. This class contains a very simple driver. It instantiates a finite state machine from a file and then tests one string for acceptance.
    3. Simple. This is an example of a data file as follows
>
>
  1. Complete the program that simulates a finite state machine.
  2. You are provided with the following. All files are found on the [[http://classroom.github.com][GitHub classroom]
    1. Transition.java. This class defines a single transition. Given a state and an input what is the next state.
    2. FSMDriver.java. This class contains a very simple driver. It instantiates a finite state machine from a file and then tests one string for acceptance.
    3. Simple. This is an example of a data file as follows
  i. Line 1: the alphabet of the machine (each one is a character) i. Line 2: the number of states in the machine (always integers) i. Line 3: which state is the initial state i. Next set of lines (until -1): one line (old state, new state, character) representing a transition. i. Last: a list of states (terminated with a -1) of final states
Changed:
<
<
    1. FSM.java. The shell for the finite state machine with methods you need to complete. See comments within the code for more instructions
    2. Transitions. The shell for a list of transitions with methods and field variables you need to complete. See comments within the code for more instructions.
  1. Be sure to modify the comments as appropriate and maintain good programming techniques
>
>
    1. FSM.java. The shell for the finite state machine with methods you need to complete. See comments within the code for more instructions
    2. Transitions. The shell for a list of transitions with methods and field variables you need to complete. See comments within the code for more instructions.
  1. Be sure to modify the comments as appropriate and maintain good programming techniques
 

Submission instructions

Changed:
<
<
  1. Complete the SDR. Be aware that the form has changed! Include at least one more set of tests for your own machine along with any other tests you think are appropriate. Your testing report should probably not be more than a page and could be less.
  2. Combine your SDR and all of your .java and testing files into one zip folder
  3. Submit the zip folder on Canvas by the due data specific there.
>
>
  1. Complete the SDR. Be aware that the form has changed! Include at least one more set of tests for your own machine along with any other tests you think are appropriate. Your testing report should probably not be more than a page and could be less.
  2. Combine your SDR and all of your .java and testing files into one zip folder
  3. Submit the zip folder on Canvas by the due data specific there.
 

Restriction:

Added:
>
>
 It is very likely that there are programs that can be downloaded that can simulate a FSM. You are not allowed to even look at these. The code provided is what you should use. This assignment is to bring back your programming skills.

Challenges

Deleted:
<
<
  1. Don't use some/all of the provided code. If this is the case, indicate in an obvious way that you did this in your SDR.
 \ No newline at end of file
Added:
>
>
  1. Don't use some/all of the provided code. If this is the case, indicate in an obvious way that you did this in your SDR.
 \ No newline at end of file

Revision 22022-08-16 - cathybareiss

Line: 1 to 1
 
META TOPICPARENT name="CSC122SylS2022"

Finite State Machine

A finite state machine is a simple machine that will either accept or reject an input. The [[https://en.wikipedia.org/wiki/Finite-state_machine][Wikipedia article] can give you an overview and so can many other resources on the Internet. To write a program for a finite state machine can be a complex task. However, to simulate one is MUCH easier. This program is to simulate a FSM

Revision 12022-08-04 - cathybareiss

Line: 1 to 1
Added:
>
>
META TOPICPARENT name="CSC122SylS2022"

Finite State Machine

A finite state machine is a simple machine that will either accept or reject an input. The [[https://en.wikipedia.org/wiki/Finite-state_machine][Wikipedia article] can give you an overview and so can many other resources on the Internet. To write a program for a finite state machine can be a complex task. However, to simulate one is MUCH easier. This program is to simulate a FSM

Objectives

  1. Refresh programming skills including use of arrays and objects
  2. Learn about finite state machines.

Assignment

  1. Complete the program that simulates a finite state machine.
  2. You are provided with the following. All files are found on the shared drive for the class in the lab 1 folder. a. Transition.java. This class defines a single transition. Given a state and an input what is the next state. a. FSMDriver.java. This class contains a very simple driver. It instantiates a finite state machine from a file and then tests one string for acceptance. a. Simple. This is an example of a data file as follows i. Line 1: the alphabet of the machine (each one is a character) i. Line 2: the number of states in the machine (always integers) i. Line 3: which state is the initial state i. Next set of lines (until -1): one line (old state, new state, character) representing a transition. i. Last: a list of states (terminated with a -1) of final states
    1. FSM.java. The shell for the finite state machine with methods you need to complete. See comments within the code for more instructions
    2. Transitions. The shell for a list of transitions with methods and field variables you need to complete. See comments within the code for more instructions.
  3. Be sure to modify the comments as appropriate and maintain good programming techniques

Submission instructions

  1. Complete the SDR. Be aware that the form has changed! Include at least one more set of tests for your own machine along with any other tests you think are appropriate. Your testing report should probably not be more than a page and could be less.
  2. Combine your SDR and all of your .java and testing files into one zip folder
  3. Submit the zip folder on Canvas by the due data specific there.

Restriction:

It is very likely that there are programs that can be downloaded that can simulate a FSM. You are not allowed to even look at these. The code provided is what you should use. This assignment is to bring back your programming skills.

Challenges

  1. Don't use some/all of the provided code. If this is the case, indicate in an obvious way that you did this in your SDR.
 
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2026 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback