fdp kavita pandey_automata
TRANSCRIPT
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 2013Importance and students disinterest reasonsS f h ti lSummary of some research articlesHow we deliver this course at JIITReferences
Summary of Computer ScienceCurricula 2013Curricula 2013
ACM and IEEE-Computer Society have given Curriculum Guidelines for Undergraduate Degree Programs in Computer ScienceUndergraduate Degree Programs in Computer ScienceThey 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 Areas gorganized 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 SystemsPBD - Platform-based Development
● CN - Computational Science● DS - Discrete Structures● GV - Graphics and Visualization● HCI - Human-Computer Interaction
PD - Parallel and Distributed ComputingPL - Programming LanguagesSDF S ft D l t
p● IAS - Information Assurance and Security● IM - Information Management● IS Intelligent Systems
SDF - Software Development FundamentalsSE - Software EngineeringSF Systems Fundamentals● IS - Intelligent Systems
● NC - Networking and CommunicationsSF - Systems FundamentalsSP - 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 machinesRegular expressionsThe 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 problemIntroduction 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:pReview of the classes P and NP; introduce P-space and EXPPolynomial hierarchyNP-completeness (Cook’s theorem)Classic NP-complete problemsReduction Techniques
AL/Advanced Automata Theory and Computability [Elective] [ ect e]
Topics:Sets and languagesSets and languagesRegular languagesReview of deterministic finite automata (DFAs)Nondeterministic finite automata (NFAs)Equivalence of DFAs and NFAsReview of regular expressions; their equivalence to finite automataClosure propertiesProving languages non-regular, via the pumping lemma or alternative meansContext-free languagesPush-down automata (PDAs)Push-down automata (PDAs)Relationship of PDAs and context-free grammarsProperties of context-free languagesTuring machines, or an equivalent formal model of universal computationNondeterministic Turing machinesChomsky hierarchyThe Church-Turing thesisComputabilityRice’s TheoremExamples of uncomputable functionsExamples of uncomputable functionsImplications 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 coursesAutomata 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 aforementioned g ptools :
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 deviceUsers 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 as g p y pfinite 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 of ythirteen 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 private yannotations 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 , gDFA. 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 LL C G to o o t e C G to co e s o s a e use u study gand 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 to p g pacceptance. “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 transforming p g ggrammars.FSME (Finite State Machine Explorer ) is an interactive graphical system that supports the construction of FSAs.y ppTAGS 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 FormalLanguages 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 FormalLanguages and Automata Theory – An ExperienceLanguages and Automata Theory An Experience
Tutorial Activity
Activity Based Teaching Learning in FormalLanguages and Automata Theory – An ExperienceLanguages and Automata Theory An Experience
Classroom Activity :Example: Teaching Turing machine in the classroomThe 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 FormalLanguages 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 examinations S ude s a so e a e p essu e du g e a a o sis 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.
InOff
InOnWhat info represents
?
the current state? ?
• Whether I’m in my office.• Timer status.
OutOff
OutOnOff On
Controlling My Office TemperatureControlling My Office TemperatureLet’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.
InOff
InOn
Up
Up
Timeout
What are the possible actions??
• I move in/out of my office.
Mov
e Move
MoveM
ove
Up
?Error
?
• I turn timer up.• Timer times out.
OutOff
OutOn
M e eM
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.
InOff
InOn
Up
Up
Timeout
What state do we start in??
Mov
e Move
MoveM
ove
Up
?In this example, it’s arbitrary. Error
?
OutOff
OutOn
M e eMAt beginning of workday,• I’m out of the office, AND• the A/C is off. Move,
Timeout, Off OnTimeout
,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
OffInOn
Up
Up
Timeout
I’m happy if• I’m out of the office, OR• the A/C is on.
Mov
e Move
MoveM
ove
Up
?Error
OutOff
OutOn
M e eM
Move,Timeout, Off On
Timeout,
Up
Up
ReferencesCastro-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. 2009D 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 planguages 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 2012Maria 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.