fdp kavita pandey_automata

36
Trends and Innovations in Theory of Trends and Innovations in Theory of Computation Courses Presented By: Presented By: Kavita Pandey, JIIT, Noida

Upload: kpandey

Post on 15-Apr-2017

279 views

Category:

Education


0 download

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.

Thanks