SlideShare a Scribd company logo
Trends and Innovations in Theory ofTrends and Innovations in Theory of
Computation Courses
Presented By:Presented By:
Kavita Pandey, JIIT, Noida
Outline
Summary of CS-2013Summary of CS 2013
Importance and students disinterest reasons
S f h ti lSummary of some research articles
How we deliver this course at JIIT
References
Summary of Computer Science
Curricula 2013Curricula 2013
ACM and IEEE-Computer Society have given Curriculum Guidelines for
Undergraduate Degree Programs in Computer ScienceUndergraduate Degree Programs in Computer Science
They have a long history of sponsoring efforts to establish international
curricular guidelines for undergraduate programs in computing. This volume
is the latest in this series of curricular guidelinesis the latest in this series of curricular guidelines.
These volumes are updated regularly with the aim of keeping computing
curricula modern and relevant. The last complete Computer Science
curricular volume was released in 2001 (CC2001) and an interim reviewcurricular volume was released in 2001 (CC2001) , and an interim review
effort concluded in 2008 (CS2008) .
This volume, Computer Science Curricula 2013 (CS2013), represents a
comprehensive revisioncomprehensive revision.
The CS2013 guidelines include a redefined body of knowledge, a result of
rethinking the essentials necessary for a Computer Science curriculum.
CS-2013 Knowledge Areasg
organized into a set of 18 Knowledge Areas (KAs), corresponding to topical
areas of study in computing The Knowledge Areas are:areas of study in computing. The Knowledge Areas are:
● AL - Algorithms and Complexity
● AR - Architecture and Organization
CN C t ti l S i
OS - Operating Systems
PBD - Platform-based Development
● CN - Computational Science
● DS - Discrete Structures
● GV - Graphics and Visualization
● HCI - Human-Computer Interaction
PD - Parallel and Distributed
Computing
PL - Programming Languages
SDF S ft D l t
p
● IAS - Information Assurance and
Security
● IM - Information Management
● IS Intelligent Systems
SDF - Software Development
Fundamentals
SE - Software Engineering
SF Systems Fundamentals● IS - Intelligent Systems
● NC - Networking and Communications
SF - Systems Fundamentals
SP - Social Issues and Professional
Practice
Knowledge Areas are not intended to be in one-to-one correspondence with
particular courses in a curriculum. They expect curricula will have courses thatparticular courses in a curriculum. They expect curricula will have courses that
incorporate topics from multiple Knowledge Areas.
AL. Algorithms and Complexityg p y
AL/Basic Automata Computability and Complexity
[Core-Tier1]
Finite-state machines
Regular expressions
The halting problemThe halting problem
[Core-Tier2]
Context-free grammars (cross-reference PL/Syntax Analysis)
I t d ti t th P d NP l d th P NP blIntroduction to the P and NP classes and the P vs. NP problem
Introduction to the NP-complete class and exemplary NP-complete
problems (e.g., SAT, Knapsack)
AL/Basic Automata Computability and Complexity
Learning Outcomes:
[Core-Tier1]
Discuss the concept of finite state machines. [Familiarity]
Design a deterministic finite state machine to accept a specified language.g p p g g
[Usage]
Generate a regular expression to represent a specified language. [Usage]
Explain why the halting problem has no algorithmic solution. [Familiarity]
[Core-Tier2]
Design a context-free grammar to represent a specified language. [Usage]
Define the classes P and NP. [Familiarity][ y]
Explain the significance of NP-completeness. [Familiarity]
AL/Advanced Computational Complexity [Elective]
Topics:p
Review of the classes P and NP; introduce P-space and EXP
Polynomial hierarchy
NP-completeness (Cook’s theorem)
Classic NP-complete problems
Reduction Techniques
AL/Advanced Automata Theory and Computability
[Elective][ ect e]
Topics:
Sets and languagesSets and languages
Regular languages
Review of deterministic finite automata (DFAs)
Nondeterministic finite automata (NFAs)
Equivalence of DFAs and NFAs
Review of regular expressions; their equivalence to finite automata
Closure properties
Proving languages non-regular, via the pumping lemma or alternative means
Context-free languages
Push-down automata (PDAs)Push-down automata (PDAs)
Relationship of PDAs and context-free grammars
Properties of context-free languages
Turing machines, or an equivalent formal model of universal computation
Nondeterministic Turing machines
Chomsky hierarchy
The Church-Turing thesis
Computability
Rice’s Theorem
Examples of uncomputable functionsExamples of uncomputable functions
Implications of uncomputability
Importance and Students disinterest Reasons:
Why important in the computer science and engineering curriculum
This course is a prerequisite for system software and compiler design coursesThis course is a prerequisite for system software and compiler design courses
The concepts learnt in this course are widely applicable in the computer science
and related engineering fields.
Why this course is more difficult than other CS coursesWhy this course is more difficult than other CS courses
Automata theory has more mathematics than most computer science subjects.
The automata theory course consists of mathematical notation that must be
grasped in order to understand the proofs of the theorems studiedgrasped in order to understand the proofs of the theorems studied.
Students do not receive immediate feedback when working problems using
pencil and paper. Weaker students especially need to work additional problems
to understand concepts, and need to know if their solutions are correct.p ,
Students believe that the material is dated and too abstract and of little use
Designing and Using Software Tools for Educational
Purposes: FLAT, a Case Studyp , y
An educational software simulator tool, SoftwarE for Learning
Formal languages and Automata theory (SELFA) for teaching and
learning FLAT (formal languages and automata theory) concepts.
The main advantage of this tool over other software tools
it has been developed using web technologies.
This allows the user to collect and analyze data on how and when a student or
group has used the tool.
SELFA b j t d t hit b d t th f t f th l tSELFA may be projected onto a whiteboard at the front of the class to
help teachers improve instruction, as a classroom aid.
The SELFA can be used for
f l ifi ti l d t d fi t t (fi it t t d hd )formal specification language, used to define automata (finite-state and pushdown)
or grammars (regular and context-free)
Not for TM and conversions ..
Designing and Using Software Tools for Educational
Purposes: FLAT a Case Study
Examples of various tools that are being used in the teaching and learning
Purposes: FLAT, a Case Study
of FLAT concepts and are freely available via the Internet :
FLUTE , FOLA , JCT, JFLAP , SEFALAS , SEPa! Project, THOTH
Authors have included the most interesting aspects of the aforementionedg p
tools :
a graphical user interface that is appealing to the user;
a text mode input that allows the user interact easily with the tool;
an interactive presentation mode to allow experimentation with concepts and
algorithms;
a visual, textual and tabular object representation that provides several levels of
abstraction;
a display of the intermediate steps of the different algorithms rather than just
the final solution.
Designing and Using Software Tools for Educational
Purposes: FLAT a Case StudyPurposes: FLAT, a Case Study
Extra characteristicsExtra characteristics
ability to run via a web browser without any need
for local installation or automatically installedfor local installation or automatically installed
plugins.
SELFA uses a Client/Server architecture and theSELFA uses a Client/Server architecture and the
use of a database to collect tool use data.
The recorded information will be used as relevant
to generate reports and statistics to allow the
teacher analyze work done by students.
Teaching Theory of Computation Using Pen-Based
Computers and an Electronic WhiteboardComputers and an Electronic Whiteboard
This paper describes a Theory of Computation course that was taught in an
electronic classroomelectronic classroom.
Features of electronic classroom
Each station is equipped with a Pentium PC that uses a high-resolution flat-
panel video tablet as its display devicepanel video tablet as its display device
Users can control the computers using a special electronic stylus in addition to
using a keyboard and mouse. Allowing this type of freehand input is extremely
useful when teaching concepts in the Theory of Computation course such asg p y p
finite state machines and parse trees since these objects are hard to draw
using only a keyboard and mouse.
This course was offered at DePauw University with an enrollment ofy
thirteen students including one informal auditor.
Teaching Theory of Computation Using Pen-Based
Computers and an Electronic WhiteboardComputers and an Electronic Whiteboard
They have developed an experimental groupware
system called DEBBIE (DePauw Electronic Blacksystem called DEBBIE (DePauw Electronic Black
Board for Interactive Education)
This system allows the students and teacher in aThis system allows the students and teacher in a
pen-based electronic classroom to share written
information during class. For example, when using
the system, the teacher can draw freehand sketches
directly on the surface of the teacher-station's video-
tablet or electronic whiteboard.
Th t h l k b d t tThe teacher can also use a keyboard to type
material, and can import material that was prepared
ahead of time for use during class.
Teaching Theory of Computation Using Pen-Based
Computers and an Electronic WhiteboardComputers and an Electronic Whiteboard
All information sketched typed or imported by the teacher is transmitted overo All information sketched, typed, or imported by the teacher is transmitted over
a network so that it appears on each student's video tablet.
oEach student can write freehand on his or her display to make privatey
annotations to the teacher's material.
o During class the students can submit their solutions on their video tablet.
o At this point teacher can display some of them for the entire class to see and
discuss . In practice, this resulted in very lively discussions as the merits (and
flaws) of various solutions were discussed and modifications were proposed.
Using JFLAP to Interact with Theorems in
Automata TheoryAutomata Theory
At Duke University, they have been using the software tool JFLAP (Java
Formal Languages and Automata Package) to provide interaction and feedback
in automata theory course.
JFLAP is a tool for designing and running nondeterministic versions of finite
automata pushdown automata and Turing machinesautomata, pushdown automata, and Turing machines.
In this article they have enhanced JFLAP to allow one to study the proofs of
several theorems that focus on conversions of languages, from one form to
another, such as converting an NFA to a DFA and then to a minimum state, g
DFA.
In most of the conversions, the user creates the new representation with aid
from JFLAP. The conversions in JFLAP are nondeterministic finite automaton
(NFA) t d t i i ti fi it t t (DFA) DFA t i i t t DFA(NFA) to deterministic finite automaton (DFA), DFA to minimum state DFA,
NFA to regular grammar, regular grammar to NFA, nondeterministic push-down
automaton (NPDA) to context-free grammar (CFG), and three algorithms for
CFG to NPDA. Two of the CFG to NPDA conversions are useful in studying LLC G to o o t e C G to co e s o s a e use u study g
and LR parsing.
Using JFLAP to Interact with Theorems in
Automata TheoryAutomata Theory
JFLAP provides two choices for
execution.
“fast” mode , the user receives a
message indicating either the input
t d / t t d If thwas accepted / not accepted. If the
input was accepted, the user can
select to step through an animation
of the processing of the input top g p
acceptance.
“step” mode, the user starts in the
start state and steps through the
i All iblexecution. All possible
configurations reached are shown at
each stage.
A Visual and Interactive Automata Theory
Course Emphasizing Breadth of AutomataCourse Emphasizing Breadth of Automata
Their aim is
To enhance learning and the learning experience by increasing
visualization and interaction through the enhancement and integration of
the popular software tools for visualizing various models of computation.
Expose students to current applications of these concepts.
Revised their course.
To illustrate the models and concepts during lecture , they have used animations of
JFLAP and an interpreter for rule based programming LRR in their slidesJFLAP and an interpreter for rule-based programming LRR in their slides.
New course materials that include recent applications of finite automata concepts
and glimpses into the varied world of finite automata especially tree and DAG
automata.
New lab assignments and problem sets with solutions that revolve around these
tools.
Using Theoretical Computer Simulators for
Formal Languages and Automata TheoryFormal Languages and Automata Theory
Both formal languages and automata theory (FLAT) are core to the CS
curricula but are difficult to teach and to learn. This situation has
motivated the development of a number of theoretical computer
simulators as educational tools to allow students to “bring to life” many
t i th t t diti ll t d l th ti lltopics that traditionally were presented only mathematically.
This paper discusses the main features of software tools currently
freely available via the Internet for teaching FLAT.
They distinguish two categories of FLAT educational software, namely:
Generic, multi-purpose software packages for teaching and integrating
several related concepts of FLAT.
Tools : DEM, JFLAP, JCT and Minerva.
Using Theoretical Computer Simulators for
Formal Languages and Automata TheoryFormal Languages and Automata Theory
Software tools oriented towards simulating a specific class of automata
with educational purposes.
Examples
Pâté is a visual and interactive tool for parsing and transformingp g g
grammars.
FSME (Finite State Machine Explorer ) is an interactive graphical
system that supports the construction of FSAs.y pp
TAGS is a software tool designed to define and run Moore and
Mealy transducer automata (MTAs).
Based on their practical experience the tradeoffs between differentBased on their practical experience, the tradeoffs between different
FLAT software tools is analyzed and discussed.
They have concluded with general recommendations for integrating
FLAT software tools into an established curriculumFLAT software tools into an established curriculum.
Activity Based Teaching Learning in Formal
Languages and Automata Theory – An ExperienceLanguages and Automata Theory An Experience
Conventional approach followed generally in textbooks
f ll d f hi d th th dicourse followed a sequence of machine and then the corresponding
language theory.
New approach : The course structure is redesigned to teach formal
languages and corresponding automata followed by the properties of the
respective languages according to the hierarchy of the formal languages.
Thi fl f t hi k t d t t d t d th t d l tThis flow of teaching makes students to understand the concepts and relate
to the real time applications easily.
Activity oriented teaching learning was attempted in the course and a
tutorial was introduced for this course with an objective of increasing
student participation.
Activity Based Teaching Learning in Formal
Languages and Automata Theory – An ExperienceLanguages and Automata Theory An Experience
Tutorial
Activity
Activity Based Teaching Learning in Formal
Languages and Automata Theory – An ExperienceLanguages and Automata Theory An Experience
Classroom Activity :
Example: Teaching Turing machine in the classroom
The approach followed for the activity is as fallows.
n=2. lined up four students in front of the class to be
the 'tape' and one student in front to be the R/W
head'. Initially all students face towards class.
Each student on the 'tape' represented either a or b
and stood in the following pattern
...aabb…
- 'as' are represented by girls.
- 'bs' are represented by boys.
Activity Based Teaching Learning in Formal
Languages and Automata Theory – An ExperienceLanguages and Automata Theory An Experience
• Course assessment was done in terms of regular minor
exams, quizzes based on GATE format and presentations.
• The authors observations :
Thi h lt d i i d ti i ti d l i• This has resulted in increased participation and learning
of students as evident in their performance.
• Students also felt that the pressure during examinationsS ude s a so e a e p essu e du g e a a o s
is reduced as they were comfortable with their learning
through activities.
Teaching Theoretical Computer Science using a Cognitive
Approachpp
This paper describes modifications to the pedagogy of a theory course
held at the University of Potsdam Germanyheld at the University of Potsdam, Germany.
Traditional Course Setup and Problems
135 minutes of lectures peer week given by a faculty member who presents
the course topics central concepts algorithms and their proofs andthe course topics, central concepts, algorithms, and their proofs and
illustrates them with examples.
Weekly homework assignments based on the current lecture topics whichWeekly homework assignments based on the current lecture topics, which
students are expected to solve individually and submit in writing for
reviewing and grading by tutors. (usually senior students)
90 minutes student session every other week attended by approx. 25-30
students and chaired by tutors, during which attending students are
expected to present their solutions to last weeks’ homework assignment.
This shall give them an opportunity to check the correctness of theirThis shall give them an opportunity to check the correctness of their
solutions and discuss them with the group.
Teaching Theoretical Computer Science using a Cognitive
Approachpp
Course Modifications
bi-weekly student sessions to weekly sessions that focused on student
activities instead of the presentation of solutions.
Reduced the time for lectures to 90 minutes per week.
Made homework submissions mandatory, and offered an additional weekly
“tutorial”.
Now with a strong alignment between exercises, homework, and the
f ’final exam and to coach students’ activities in the exercise sessions
and by providing feedback for their homework submissions.
Students seemed to be more successful in solving homework
i b h l h h d d d h iassignments by themselves once they had attended the exercise
sessions, seen a written solution to the exercises, and discussed the
more difficult aspects in the tutorial.
jFAST: A Java Finite Automata Simulator
Complementary alternative to the more advanced and widely used
JFLAP t l d l d t D k U i itJFLAP tool developed at Duke University.
jFAST, an easy-to-use graphical software tool for teachers and
students, with an emphasis on introductory level finite state machinestudents, with an emphasis on introductory level finite state machine
topics.
The jFAST software enables teachers to create simple or complex
FSM h ld h b di l d d i lFSMs that could then be displayed to students via a classroom
projector.
jFAST also allows teachers to distribute FSMs to students via emailjFAST also allows teachers to distribute FSMs to students via email,
with students then able to actively learn through hands-on
manipulation and visual simulation.
Students can create their own FSMs using the familiar and intuitive
drag-and-drop graphical user interface conventions of modern
computing.
INTRODUCING PRACTICAL APPLICATIONS INTO A
COMPUTATIONAL THEORY CLASS
Our computational theory class is one of the few that does not have a
lab period.
The authors describe an approach to incorporate some hands-on
laboratory activities so that students could see a practical application to
using regular expressions (using Lex) and context-free grammars
(using Yacc).
So they decided to make the “labs” informal, to make them essentially a
different kind of homework assignment, designed to take about two
hours in the computer lab.
Examples of Labs
create an HTML parser/validator using Lex.
Parsing Arithmetical expressions
How we deliver the course at JIIT
Real life examples for FSM PDA grammars etcReal life examples for FSM , PDA, grammars etc.
Animation in slides.
St d t k j t b d i l lifStudents make projects based on various real life
applications like
Land slide simulation, spoken web , Networking
protocols, Sensor Dust, Ankle Monitor , Palm OS ,
Symbian OS Satellite Lanuching etcSymbian OS, Satellite Lanuching etc..
We encourage them to use JFLAP while
d l i j tdeveloping projects.
Controlling My Office TemperatureControlling My Office Temperature
Let’s model when I’m happy with my office temperatureLet s model when I m happy with my office temperature.
faculty Hall office thermostats are attached to count-down dial timer.
Assume it’s always hot enough to want A/C on when in office.
In
Off
In
OnWhat info represents
?
the current state?
?
• Whether I’m in my office.
• Timer status.
Out
Off
Out
OnOff On
Controlling My Office TemperatureControlling My Office Temperature
Let’s model when I’m happy with my office temperature.
faculty Hall office thermostats are attached to count down dial timerfaculty Hall office thermostats are attached to count-down dial timer.
Assume it’s always hot enough to want A/C on when in office.
In
Off
In
On
Up
Up
Timeout
What are the possible actions?
?
• I move in/out of my office.
Move
Move
Move
Move
Up
?Error
?
• I turn timer up.
• Timer times out.
Out
Off
Out
OnM
e
e
M
Move,
Timeout, Off On
Timeout
,
Up
Up
Controlling My Office Temperatureg y p
Let’s model when I’m happy with my office temperatureLet s model when I m happy with my office temperature.
faculty Hall office thermostats are attached to count-down dial timer.
Assume it’s always hot enough to want A/C on when in office.
In
Off
In
On
Up
Up
Timeout
What state do we start in?
?
Move
Move
Move
Move
Up
?In this example, it’s arbitrary. Error
?
Out
Off
Out
OnM
e
e
M
At beginning of workday,
• I’m out of the office, AND
• the A/C is off. Move,
Timeout, Off On
Timeout
,
Up
Up
Controlling My Office TemperatureControlling My Office Temperature
Let’s model when I’m happy with my office temperatureLet s model when I m happy with my office temperature.
Faculty Hall office thermostats are attached to count-down dial timer.
Assume it’s always hot enough to want A/C on when in office.
By the problem definition,
In
Off
In
On
Up
Up
Timeout
I’m happy if
• I’m out of the office, OR
• the A/C is on.
Move
Move
Move
Move
Up
?Error
Out
Off
Out
OnM
e
e
M
Move,
Timeout, Off On
Timeout
,
Up
Up
References
Castro-Schez, J.J.; del Castillo, E.; Hortolano, J.; Rodriguez, A., "Designing and Using Software Tools for
Educational Purposes: FLAT, a Case Study,"Education, IEEE Transactions on , vol.52, no.1, pp.66,74, Feb. 2009
D B D id K J h d L J i 2001 T hi th f t ti i b dDave Berque, David K. Johnson, and Larry Jovanovic. 2001. Teaching theory of computation using pen-based
computers and an electronic whiteboard. In Proceedings of the 6th annual conference on Innovation and technology
in computer science education (ITiCSE '01). ACM, New York, NY, USA, 169-172.
Eric Gramond and Susan H. Rodger. 1999. Using JFLAP to interact with theorems in automata theory. In The
proceedings of the thirtieth SIGCSE technical symposium on Computer science education (SIGCSE '99) ACM Newproceedings of the thirtieth SIGCSE technical symposium on Computer science education (SIGCSE 99). ACM, New
York, NY, USA, 336-340.
Rakesh M. Verma. 2005. A visual and interactive automata theory course emphasizing breadth of
automata. SIGCSE Bull. 37, 3 (June 2005), 325-329.
Carlos I. Chesñevar, María L. Cobo, and William Yurcik. 2003. Using theoretical computer simulators for formal, , g p
languages and automata theory. SIGCSE Bull. 35, 2 (June 2003), 33-37.
Vijayalaskhmi, M.; Karibasappa, K.G., "Activity based teaching learning in formal languages and automata theory -
An experience," Engineering Education: Innovative Practices and Future Trends (AICERA), 2012 IEEE International
Conference on , vol., no., pp.1,5, 19-21 July 2012
Maria Knobelsdorf, Christoph Kreitz, and Sebastian Böhne. 2014. Teaching theoretical computer science using a
cognitive apprenticeship approach. In Proceedings of the 45th ACM technical symposium on Computer science
education (SIGCSE '14). ACM, New York, NY, USA, 67-72.
Timothy M. White and Thomas P. Way. 2006. jFAST: a java finite automata simulator. InProceedings of the 37th
SIGCSE technical symposium on Computer science education (SIGCSE '06) ACM New York NY USA 384 388SIGCSE technical symposium on Computer science education (SIGCSE 06). ACM, New York, NY, USA, 384-388.
William H. Hawkins and Christopher A. Healy. 2004. Introducing practical applications into a computational theory
class. J. Comput. Sci. Coll. 20, 2 (December 2004), 219-225.
Thanks

More Related Content

PPT
The Valladolid Presentation - Nov, 16, 2011
PDF
Improving Document Clustering by Eliminating Unnatural Language
DOC
Engr de 6_unitplan_flip_flopcircuits
PDF
6. Khalil Sima'an (UVA) Statistical Machine Translation
PPTX
Contributions to the multidisciplinarity of computer science and IS
PDF
2. Constantin Orasan (UoW) EXPERT Introduction
PDF
Object oriented concepts ppt
PPT
Oop lec 2(introduction to object oriented technology)
The Valladolid Presentation - Nov, 16, 2011
Improving Document Clustering by Eliminating Unnatural Language
Engr de 6_unitplan_flip_flopcircuits
6. Khalil Sima'an (UVA) Statistical Machine Translation
Contributions to the multidisciplinarity of computer science and IS
2. Constantin Orasan (UoW) EXPERT Introduction
Object oriented concepts ppt
Oop lec 2(introduction to object oriented technology)

What's hot (20)

PPTX
Explaining Spreadsheets with Spreadsheets
PDF
MODULAR AND DIDACTIC COMPILER DESIGN WITH XML INTER-PHASES COMMUNICATION
PPT
Computer Systems Lab Overview
PDF
Automatic Grammatical Error Correction for ESL-Learners by SMT - Getting it r...
PDF
5. manuel arcedillo & juanjo arevalillo (hermes) translation memories
DOCX
Ece 1322 programming_for_engineers_s1_201213(1)
PPTX
Teaching algebra through functional programming
PPTX
Introduction to architectures based on models, models and metamodels. model d...
PPT
Introduction to oop
PPTX
PDF
Meta-modeling: concepts, tools and applications
PPTX
An LSTM-Based Neural Network Architecture for Model Transformations
PDF
ylchen
PDF
7. Trevor Cohn (usfd) Statistical Machine Translation
PDF
13. Constantin Orasan (UoW) Natural Language Processing for Translation
PDF
Fast evaluation of Connectionist Language Models
PDF
Integrating natural language processing and software engineering
PPT
Introduction to programing languages part 1
PDF
Financial Question Answering with BERT Language Models
PPTX
Modeling and meta-modeling presentation at LTH, Sweden
Explaining Spreadsheets with Spreadsheets
MODULAR AND DIDACTIC COMPILER DESIGN WITH XML INTER-PHASES COMMUNICATION
Computer Systems Lab Overview
Automatic Grammatical Error Correction for ESL-Learners by SMT - Getting it r...
5. manuel arcedillo & juanjo arevalillo (hermes) translation memories
Ece 1322 programming_for_engineers_s1_201213(1)
Teaching algebra through functional programming
Introduction to architectures based on models, models and metamodels. model d...
Introduction to oop
Meta-modeling: concepts, tools and applications
An LSTM-Based Neural Network Architecture for Model Transformations
ylchen
7. Trevor Cohn (usfd) Statistical Machine Translation
13. Constantin Orasan (UoW) Natural Language Processing for Translation
Fast evaluation of Connectionist Language Models
Integrating natural language processing and software engineering
Introduction to programing languages part 1
Financial Question Answering with BERT Language Models
Modeling and meta-modeling presentation at LTH, Sweden
Ad

Similar to Fdp kavita pandey_automata (20)

PDF
Elements Of Computation Theory Arindama Singh Auth
PDF
Tools For Teaching Computer Networking And Hardware Concepts Nurul I Sarkar
PDF
[Harvard CS264] 02 - Parallel Thinking, Architecture, Theory & Patterns
PDF
Lecture 1 Slides -Introduction to algorithms.pdf
PDF
Ds & ada
DOC
Machine Learning
PDF
Formal language & automata theory
PDF
2 problem solving and programming workbook by inqilab patel
PDF
Digital technologies 2015 eq workshop
PDF
Botbeans CISTI 2011
PPTX
Algorithm itabq
PPT
Cs ch00
 
PPTX
theory of computation lecture 01
PDF
Computers And Education Towards An Interconnected Society 1st Edition Manuel ...
PDF
C++ progrmming language
PPTX
Unit -I Toc.pptx
PDF
Computer Programming_Unit 1
PPT
系统能力的培养
PDF
Lecture13 ie321 dr_atifshahzad -algorithmic thinking
PDF
Electricity that loves
Elements Of Computation Theory Arindama Singh Auth
Tools For Teaching Computer Networking And Hardware Concepts Nurul I Sarkar
[Harvard CS264] 02 - Parallel Thinking, Architecture, Theory & Patterns
Lecture 1 Slides -Introduction to algorithms.pdf
Ds & ada
Machine Learning
Formal language & automata theory
2 problem solving and programming workbook by inqilab patel
Digital technologies 2015 eq workshop
Botbeans CISTI 2011
Algorithm itabq
Cs ch00
 
theory of computation lecture 01
Computers And Education Towards An Interconnected Society 1st Edition Manuel ...
C++ progrmming language
Unit -I Toc.pptx
Computer Programming_Unit 1
系统能力的培养
Lecture13 ie321 dr_atifshahzad -algorithmic thinking
Electricity that loves
Ad

Recently uploaded (20)

PDF
Computing-Curriculum for Schools in Ghana
PPTX
IMMUNITY IMMUNITY refers to protection against infection, and the immune syst...
PPTX
Cell Structure & Organelles in detailed.
PPTX
Final Presentation General Medicine 03-08-2024.pptx
PDF
Anesthesia in Laparoscopic Surgery in India
PDF
01-Introduction-to-Information-Management.pdf
PPTX
Introduction_to_Human_Anatomy_and_Physiology_for_B.Pharm.pptx
PPTX
Lesson notes of climatology university.
PDF
Insiders guide to clinical Medicine.pdf
PDF
Sports Quiz easy sports quiz sports quiz
PDF
Classroom Observation Tools for Teachers
PDF
ANTIBIOTICS.pptx.pdf………………… xxxxxxxxxxxxx
PDF
The Lost Whites of Pakistan by Jahanzaib Mughal.pdf
PDF
3rd Neelam Sanjeevareddy Memorial Lecture.pdf
PDF
BÀI TẬP BỔ TRỢ 4 KỸ NĂNG TIẾNG ANH 9 GLOBAL SUCCESS - CẢ NĂM - BÁM SÁT FORM Đ...
PDF
STATICS OF THE RIGID BODIES Hibbelers.pdf
PDF
O5-L3 Freight Transport Ops (International) V1.pdf
PDF
Pre independence Education in Inndia.pdf
PPTX
GDM (1) (1).pptx small presentation for students
PDF
Black Hat USA 2025 - Micro ICS Summit - ICS/OT Threat Landscape
Computing-Curriculum for Schools in Ghana
IMMUNITY IMMUNITY refers to protection against infection, and the immune syst...
Cell Structure & Organelles in detailed.
Final Presentation General Medicine 03-08-2024.pptx
Anesthesia in Laparoscopic Surgery in India
01-Introduction-to-Information-Management.pdf
Introduction_to_Human_Anatomy_and_Physiology_for_B.Pharm.pptx
Lesson notes of climatology university.
Insiders guide to clinical Medicine.pdf
Sports Quiz easy sports quiz sports quiz
Classroom Observation Tools for Teachers
ANTIBIOTICS.pptx.pdf………………… xxxxxxxxxxxxx
The Lost Whites of Pakistan by Jahanzaib Mughal.pdf
3rd Neelam Sanjeevareddy Memorial Lecture.pdf
BÀI TẬP BỔ TRỢ 4 KỸ NĂNG TIẾNG ANH 9 GLOBAL SUCCESS - CẢ NĂM - BÁM SÁT FORM Đ...
STATICS OF THE RIGID BODIES Hibbelers.pdf
O5-L3 Freight Transport Ops (International) V1.pdf
Pre independence Education in Inndia.pdf
GDM (1) (1).pptx small presentation for students
Black Hat USA 2025 - Micro ICS Summit - ICS/OT Threat Landscape

Fdp kavita pandey_automata

  • 1. Trends and Innovations in Theory ofTrends and Innovations in Theory of Computation Courses Presented By:Presented By: Kavita Pandey, JIIT, Noida
  • 2. Outline Summary of CS-2013Summary of CS 2013 Importance and students disinterest reasons S f h ti lSummary of some research articles How we deliver this course at JIIT References
  • 3. Summary of Computer Science Curricula 2013Curricula 2013 ACM and IEEE-Computer Society have given Curriculum Guidelines for Undergraduate Degree Programs in Computer ScienceUndergraduate Degree Programs in Computer Science They have a long history of sponsoring efforts to establish international curricular guidelines for undergraduate programs in computing. This volume is the latest in this series of curricular guidelinesis the latest in this series of curricular guidelines. These volumes are updated regularly with the aim of keeping computing curricula modern and relevant. The last complete Computer Science curricular volume was released in 2001 (CC2001) and an interim reviewcurricular volume was released in 2001 (CC2001) , and an interim review effort concluded in 2008 (CS2008) . This volume, Computer Science Curricula 2013 (CS2013), represents a comprehensive revisioncomprehensive revision. The CS2013 guidelines include a redefined body of knowledge, a result of rethinking the essentials necessary for a Computer Science curriculum.
  • 4. CS-2013 Knowledge Areasg organized into a set of 18 Knowledge Areas (KAs), corresponding to topical areas of study in computing The Knowledge Areas are:areas of study in computing. The Knowledge Areas are: ● AL - Algorithms and Complexity ● AR - Architecture and Organization CN C t ti l S i OS - Operating Systems PBD - Platform-based Development ● CN - Computational Science ● DS - Discrete Structures ● GV - Graphics and Visualization ● HCI - Human-Computer Interaction PD - Parallel and Distributed Computing PL - Programming Languages SDF S ft D l t p ● IAS - Information Assurance and Security ● IM - Information Management ● IS Intelligent Systems SDF - Software Development Fundamentals SE - Software Engineering SF Systems Fundamentals● IS - Intelligent Systems ● NC - Networking and Communications SF - Systems Fundamentals SP - Social Issues and Professional Practice
  • 5. Knowledge Areas are not intended to be in one-to-one correspondence with particular courses in a curriculum. They expect curricula will have courses thatparticular courses in a curriculum. They expect curricula will have courses that incorporate topics from multiple Knowledge Areas. AL. Algorithms and Complexityg p y
  • 6. AL/Basic Automata Computability and Complexity [Core-Tier1] Finite-state machines Regular expressions The halting problemThe halting problem [Core-Tier2] Context-free grammars (cross-reference PL/Syntax Analysis) I t d ti t th P d NP l d th P NP blIntroduction to the P and NP classes and the P vs. NP problem Introduction to the NP-complete class and exemplary NP-complete problems (e.g., SAT, Knapsack)
  • 7. AL/Basic Automata Computability and Complexity Learning Outcomes: [Core-Tier1] Discuss the concept of finite state machines. [Familiarity] Design a deterministic finite state machine to accept a specified language.g p p g g [Usage] Generate a regular expression to represent a specified language. [Usage] Explain why the halting problem has no algorithmic solution. [Familiarity] [Core-Tier2] Design a context-free grammar to represent a specified language. [Usage] Define the classes P and NP. [Familiarity][ y] Explain the significance of NP-completeness. [Familiarity]
  • 8. AL/Advanced Computational Complexity [Elective] Topics:p Review of the classes P and NP; introduce P-space and EXP Polynomial hierarchy NP-completeness (Cook’s theorem) Classic NP-complete problems Reduction Techniques
  • 9. AL/Advanced Automata Theory and Computability [Elective][ ect e] Topics: Sets and languagesSets and languages Regular languages Review of deterministic finite automata (DFAs) Nondeterministic finite automata (NFAs) Equivalence of DFAs and NFAs Review of regular expressions; their equivalence to finite automata Closure properties Proving languages non-regular, via the pumping lemma or alternative means Context-free languages Push-down automata (PDAs)Push-down automata (PDAs) Relationship of PDAs and context-free grammars Properties of context-free languages Turing machines, or an equivalent formal model of universal computation Nondeterministic Turing machines Chomsky hierarchy The Church-Turing thesis Computability Rice’s Theorem Examples of uncomputable functionsExamples of uncomputable functions Implications of uncomputability
  • 10. Importance and Students disinterest Reasons: Why important in the computer science and engineering curriculum This course is a prerequisite for system software and compiler design coursesThis course is a prerequisite for system software and compiler design courses The concepts learnt in this course are widely applicable in the computer science and related engineering fields. Why this course is more difficult than other CS coursesWhy this course is more difficult than other CS courses Automata theory has more mathematics than most computer science subjects. The automata theory course consists of mathematical notation that must be grasped in order to understand the proofs of the theorems studiedgrasped in order to understand the proofs of the theorems studied. Students do not receive immediate feedback when working problems using pencil and paper. Weaker students especially need to work additional problems to understand concepts, and need to know if their solutions are correct.p , Students believe that the material is dated and too abstract and of little use
  • 11. Designing and Using Software Tools for Educational Purposes: FLAT, a Case Studyp , y An educational software simulator tool, SoftwarE for Learning Formal languages and Automata theory (SELFA) for teaching and learning FLAT (formal languages and automata theory) concepts. The main advantage of this tool over other software tools it has been developed using web technologies. This allows the user to collect and analyze data on how and when a student or group has used the tool. SELFA b j t d t hit b d t th f t f th l tSELFA may be projected onto a whiteboard at the front of the class to help teachers improve instruction, as a classroom aid. The SELFA can be used for f l ifi ti l d t d fi t t (fi it t t d hd )formal specification language, used to define automata (finite-state and pushdown) or grammars (regular and context-free) Not for TM and conversions ..
  • 12. Designing and Using Software Tools for Educational Purposes: FLAT a Case Study Examples of various tools that are being used in the teaching and learning Purposes: FLAT, a Case Study of FLAT concepts and are freely available via the Internet : FLUTE , FOLA , JCT, JFLAP , SEFALAS , SEPa! Project, THOTH Authors have included the most interesting aspects of the aforementionedg p tools : a graphical user interface that is appealing to the user; a text mode input that allows the user interact easily with the tool; an interactive presentation mode to allow experimentation with concepts and algorithms; a visual, textual and tabular object representation that provides several levels of abstraction; a display of the intermediate steps of the different algorithms rather than just the final solution.
  • 13. Designing and Using Software Tools for Educational Purposes: FLAT a Case StudyPurposes: FLAT, a Case Study Extra characteristicsExtra characteristics ability to run via a web browser without any need for local installation or automatically installedfor local installation or automatically installed plugins. SELFA uses a Client/Server architecture and theSELFA uses a Client/Server architecture and the use of a database to collect tool use data. The recorded information will be used as relevant to generate reports and statistics to allow the teacher analyze work done by students.
  • 14. Teaching Theory of Computation Using Pen-Based Computers and an Electronic WhiteboardComputers and an Electronic Whiteboard This paper describes a Theory of Computation course that was taught in an electronic classroomelectronic classroom. Features of electronic classroom Each station is equipped with a Pentium PC that uses a high-resolution flat- panel video tablet as its display devicepanel video tablet as its display device Users can control the computers using a special electronic stylus in addition to using a keyboard and mouse. Allowing this type of freehand input is extremely useful when teaching concepts in the Theory of Computation course such asg p y p finite state machines and parse trees since these objects are hard to draw using only a keyboard and mouse. This course was offered at DePauw University with an enrollment ofy thirteen students including one informal auditor.
  • 15. Teaching Theory of Computation Using Pen-Based Computers and an Electronic WhiteboardComputers and an Electronic Whiteboard They have developed an experimental groupware system called DEBBIE (DePauw Electronic Blacksystem called DEBBIE (DePauw Electronic Black Board for Interactive Education) This system allows the students and teacher in aThis system allows the students and teacher in a pen-based electronic classroom to share written information during class. For example, when using the system, the teacher can draw freehand sketches directly on the surface of the teacher-station's video- tablet or electronic whiteboard. Th t h l k b d t tThe teacher can also use a keyboard to type material, and can import material that was prepared ahead of time for use during class.
  • 16. Teaching Theory of Computation Using Pen-Based Computers and an Electronic WhiteboardComputers and an Electronic Whiteboard All information sketched typed or imported by the teacher is transmitted overo All information sketched, typed, or imported by the teacher is transmitted over a network so that it appears on each student's video tablet. oEach student can write freehand on his or her display to make privatey annotations to the teacher's material. o During class the students can submit their solutions on their video tablet. o At this point teacher can display some of them for the entire class to see and discuss . In practice, this resulted in very lively discussions as the merits (and flaws) of various solutions were discussed and modifications were proposed.
  • 17. Using JFLAP to Interact with Theorems in Automata TheoryAutomata Theory At Duke University, they have been using the software tool JFLAP (Java Formal Languages and Automata Package) to provide interaction and feedback in automata theory course. JFLAP is a tool for designing and running nondeterministic versions of finite automata pushdown automata and Turing machinesautomata, pushdown automata, and Turing machines. In this article they have enhanced JFLAP to allow one to study the proofs of several theorems that focus on conversions of languages, from one form to another, such as converting an NFA to a DFA and then to a minimum state, g DFA. In most of the conversions, the user creates the new representation with aid from JFLAP. The conversions in JFLAP are nondeterministic finite automaton (NFA) t d t i i ti fi it t t (DFA) DFA t i i t t DFA(NFA) to deterministic finite automaton (DFA), DFA to minimum state DFA, NFA to regular grammar, regular grammar to NFA, nondeterministic push-down automaton (NPDA) to context-free grammar (CFG), and three algorithms for CFG to NPDA. Two of the CFG to NPDA conversions are useful in studying LLC G to o o t e C G to co e s o s a e use u study g and LR parsing.
  • 18. Using JFLAP to Interact with Theorems in Automata TheoryAutomata Theory JFLAP provides two choices for execution. “fast” mode , the user receives a message indicating either the input t d / t t d If thwas accepted / not accepted. If the input was accepted, the user can select to step through an animation of the processing of the input top g p acceptance. “step” mode, the user starts in the start state and steps through the i All iblexecution. All possible configurations reached are shown at each stage.
  • 19. A Visual and Interactive Automata Theory Course Emphasizing Breadth of AutomataCourse Emphasizing Breadth of Automata Their aim is To enhance learning and the learning experience by increasing visualization and interaction through the enhancement and integration of the popular software tools for visualizing various models of computation. Expose students to current applications of these concepts. Revised their course. To illustrate the models and concepts during lecture , they have used animations of JFLAP and an interpreter for rule based programming LRR in their slidesJFLAP and an interpreter for rule-based programming LRR in their slides. New course materials that include recent applications of finite automata concepts and glimpses into the varied world of finite automata especially tree and DAG automata. New lab assignments and problem sets with solutions that revolve around these tools.
  • 20. Using Theoretical Computer Simulators for Formal Languages and Automata TheoryFormal Languages and Automata Theory Both formal languages and automata theory (FLAT) are core to the CS curricula but are difficult to teach and to learn. This situation has motivated the development of a number of theoretical computer simulators as educational tools to allow students to “bring to life” many t i th t t diti ll t d l th ti lltopics that traditionally were presented only mathematically. This paper discusses the main features of software tools currently freely available via the Internet for teaching FLAT. They distinguish two categories of FLAT educational software, namely: Generic, multi-purpose software packages for teaching and integrating several related concepts of FLAT. Tools : DEM, JFLAP, JCT and Minerva.
  • 21. Using Theoretical Computer Simulators for Formal Languages and Automata TheoryFormal Languages and Automata Theory Software tools oriented towards simulating a specific class of automata with educational purposes. Examples Pâté is a visual and interactive tool for parsing and transformingp g g grammars. FSME (Finite State Machine Explorer ) is an interactive graphical system that supports the construction of FSAs.y pp TAGS is a software tool designed to define and run Moore and Mealy transducer automata (MTAs). Based on their practical experience the tradeoffs between differentBased on their practical experience, the tradeoffs between different FLAT software tools is analyzed and discussed. They have concluded with general recommendations for integrating FLAT software tools into an established curriculumFLAT software tools into an established curriculum.
  • 22. Activity Based Teaching Learning in Formal Languages and Automata Theory – An ExperienceLanguages and Automata Theory An Experience Conventional approach followed generally in textbooks f ll d f hi d th th dicourse followed a sequence of machine and then the corresponding language theory. New approach : The course structure is redesigned to teach formal languages and corresponding automata followed by the properties of the respective languages according to the hierarchy of the formal languages. Thi fl f t hi k t d t t d t d th t d l tThis flow of teaching makes students to understand the concepts and relate to the real time applications easily. Activity oriented teaching learning was attempted in the course and a tutorial was introduced for this course with an objective of increasing student participation.
  • 23. Activity Based Teaching Learning in Formal Languages and Automata Theory – An ExperienceLanguages and Automata Theory An Experience Tutorial Activity
  • 24. Activity Based Teaching Learning in Formal Languages and Automata Theory – An ExperienceLanguages and Automata Theory An Experience Classroom Activity : Example: Teaching Turing machine in the classroom The approach followed for the activity is as fallows. n=2. lined up four students in front of the class to be the 'tape' and one student in front to be the R/W head'. Initially all students face towards class. Each student on the 'tape' represented either a or b and stood in the following pattern ...aabb… - 'as' are represented by girls. - 'bs' are represented by boys.
  • 25. Activity Based Teaching Learning in Formal Languages and Automata Theory – An ExperienceLanguages and Automata Theory An Experience • Course assessment was done in terms of regular minor exams, quizzes based on GATE format and presentations. • The authors observations : Thi h lt d i i d ti i ti d l i• This has resulted in increased participation and learning of students as evident in their performance. • Students also felt that the pressure during examinationsS ude s a so e a e p essu e du g e a a o s is reduced as they were comfortable with their learning through activities.
  • 26. Teaching Theoretical Computer Science using a Cognitive Approachpp This paper describes modifications to the pedagogy of a theory course held at the University of Potsdam Germanyheld at the University of Potsdam, Germany. Traditional Course Setup and Problems 135 minutes of lectures peer week given by a faculty member who presents the course topics central concepts algorithms and their proofs andthe course topics, central concepts, algorithms, and their proofs and illustrates them with examples. Weekly homework assignments based on the current lecture topics whichWeekly homework assignments based on the current lecture topics, which students are expected to solve individually and submit in writing for reviewing and grading by tutors. (usually senior students) 90 minutes student session every other week attended by approx. 25-30 students and chaired by tutors, during which attending students are expected to present their solutions to last weeks’ homework assignment. This shall give them an opportunity to check the correctness of theirThis shall give them an opportunity to check the correctness of their solutions and discuss them with the group.
  • 27. Teaching Theoretical Computer Science using a Cognitive Approachpp Course Modifications bi-weekly student sessions to weekly sessions that focused on student activities instead of the presentation of solutions. Reduced the time for lectures to 90 minutes per week. Made homework submissions mandatory, and offered an additional weekly “tutorial”. Now with a strong alignment between exercises, homework, and the f ’final exam and to coach students’ activities in the exercise sessions and by providing feedback for their homework submissions. Students seemed to be more successful in solving homework i b h l h h d d d h iassignments by themselves once they had attended the exercise sessions, seen a written solution to the exercises, and discussed the more difficult aspects in the tutorial.
  • 28. jFAST: A Java Finite Automata Simulator Complementary alternative to the more advanced and widely used JFLAP t l d l d t D k U i itJFLAP tool developed at Duke University. jFAST, an easy-to-use graphical software tool for teachers and students, with an emphasis on introductory level finite state machinestudents, with an emphasis on introductory level finite state machine topics. The jFAST software enables teachers to create simple or complex FSM h ld h b di l d d i lFSMs that could then be displayed to students via a classroom projector. jFAST also allows teachers to distribute FSMs to students via emailjFAST also allows teachers to distribute FSMs to students via email, with students then able to actively learn through hands-on manipulation and visual simulation. Students can create their own FSMs using the familiar and intuitive drag-and-drop graphical user interface conventions of modern computing.
  • 29. INTRODUCING PRACTICAL APPLICATIONS INTO A COMPUTATIONAL THEORY CLASS Our computational theory class is one of the few that does not have a lab period. The authors describe an approach to incorporate some hands-on laboratory activities so that students could see a practical application to using regular expressions (using Lex) and context-free grammars (using Yacc). So they decided to make the “labs” informal, to make them essentially a different kind of homework assignment, designed to take about two hours in the computer lab. Examples of Labs create an HTML parser/validator using Lex. Parsing Arithmetical expressions
  • 30. How we deliver the course at JIIT Real life examples for FSM PDA grammars etcReal life examples for FSM , PDA, grammars etc. Animation in slides. St d t k j t b d i l lifStudents make projects based on various real life applications like Land slide simulation, spoken web , Networking protocols, Sensor Dust, Ankle Monitor , Palm OS , Symbian OS Satellite Lanuching etcSymbian OS, Satellite Lanuching etc.. We encourage them to use JFLAP while d l i j tdeveloping projects.
  • 31. Controlling My Office TemperatureControlling My Office Temperature Let’s model when I’m happy with my office temperatureLet s model when I m happy with my office temperature. faculty Hall office thermostats are attached to count-down dial timer. Assume it’s always hot enough to want A/C on when in office. In Off In OnWhat info represents ? the current state? ? • Whether I’m in my office. • Timer status. Out Off Out OnOff On
  • 32. Controlling My Office TemperatureControlling My Office Temperature Let’s model when I’m happy with my office temperature. faculty Hall office thermostats are attached to count down dial timerfaculty Hall office thermostats are attached to count-down dial timer. Assume it’s always hot enough to want A/C on when in office. In Off In On Up Up Timeout What are the possible actions? ? • I move in/out of my office. Move Move Move Move Up ?Error ? • I turn timer up. • Timer times out. Out Off Out OnM e e M Move, Timeout, Off On Timeout , Up Up
  • 33. Controlling My Office Temperatureg y p Let’s model when I’m happy with my office temperatureLet s model when I m happy with my office temperature. faculty Hall office thermostats are attached to count-down dial timer. Assume it’s always hot enough to want A/C on when in office. In Off In On Up Up Timeout What state do we start in? ? Move Move Move Move Up ?In this example, it’s arbitrary. Error ? Out Off Out OnM e e M At beginning of workday, • I’m out of the office, AND • the A/C is off. Move, Timeout, Off On Timeout , Up Up
  • 34. Controlling My Office TemperatureControlling My Office Temperature Let’s model when I’m happy with my office temperatureLet s model when I m happy with my office temperature. Faculty Hall office thermostats are attached to count-down dial timer. Assume it’s always hot enough to want A/C on when in office. By the problem definition, In Off In On Up Up Timeout I’m happy if • I’m out of the office, OR • the A/C is on. Move Move Move Move Up ?Error Out Off Out OnM e e M Move, Timeout, Off On Timeout , Up Up
  • 35. References Castro-Schez, J.J.; del Castillo, E.; Hortolano, J.; Rodriguez, A., "Designing and Using Software Tools for Educational Purposes: FLAT, a Case Study,"Education, IEEE Transactions on , vol.52, no.1, pp.66,74, Feb. 2009 D B D id K J h d L J i 2001 T hi th f t ti i b dDave Berque, David K. Johnson, and Larry Jovanovic. 2001. Teaching theory of computation using pen-based computers and an electronic whiteboard. In Proceedings of the 6th annual conference on Innovation and technology in computer science education (ITiCSE '01). ACM, New York, NY, USA, 169-172. Eric Gramond and Susan H. Rodger. 1999. Using JFLAP to interact with theorems in automata theory. In The proceedings of the thirtieth SIGCSE technical symposium on Computer science education (SIGCSE '99) ACM Newproceedings of the thirtieth SIGCSE technical symposium on Computer science education (SIGCSE 99). ACM, New York, NY, USA, 336-340. Rakesh M. Verma. 2005. A visual and interactive automata theory course emphasizing breadth of automata. SIGCSE Bull. 37, 3 (June 2005), 325-329. Carlos I. Chesñevar, María L. Cobo, and William Yurcik. 2003. Using theoretical computer simulators for formal, , g p languages and automata theory. SIGCSE Bull. 35, 2 (June 2003), 33-37. Vijayalaskhmi, M.; Karibasappa, K.G., "Activity based teaching learning in formal languages and automata theory - An experience," Engineering Education: Innovative Practices and Future Trends (AICERA), 2012 IEEE International Conference on , vol., no., pp.1,5, 19-21 July 2012 Maria Knobelsdorf, Christoph Kreitz, and Sebastian Böhne. 2014. Teaching theoretical computer science using a cognitive apprenticeship approach. In Proceedings of the 45th ACM technical symposium on Computer science education (SIGCSE '14). ACM, New York, NY, USA, 67-72. Timothy M. White and Thomas P. Way. 2006. jFAST: a java finite automata simulator. InProceedings of the 37th SIGCSE technical symposium on Computer science education (SIGCSE '06) ACM New York NY USA 384 388SIGCSE technical symposium on Computer science education (SIGCSE 06). ACM, New York, NY, USA, 384-388. William H. Hawkins and Christopher A. Healy. 2004. Introducing practical applications into a computational theory class. J. Comput. Sci. Coll. 20, 2 (December 2004), 219-225.