Presentation is loading. Please wait.

Presentation is loading. Please wait.

Extensions to Svetovid students’ submission environment Doni Pracner, Ivan Pribela, Mirjana Ivanović, Zoran Budimac.

Similar presentations


Presentation on theme: "Extensions to Svetovid students’ submission environment Doni Pracner, Ivan Pribela, Mirjana Ivanović, Zoran Budimac."— Presentation transcript:

1 Extensions to Svetovid students’ submission environment Doni Pracner, Ivan Pribela, Mirjana Ivanović, Zoran Budimac

2 Presentation contents Introduction Introduction Overview of Svetovid Overview of Svetovid Motivation Motivation Goals of the extension Goals of the extension New textual component New textual component Overview of some of the new features Overview of some of the new features Conclusions Conclusions

3 Svetovid Special Submission Environment for Students Assessment Special Submission Environment for Students Assessment Developed at the Department of Mathematics and Informatics, Faculty of Science, Novi Sad Developed at the Department of Mathematics and Informatics, Faculty of Science, Novi Sad Written in Java – cross platform Written in Java – cross platform Successfully used in several courses Successfully used in several courses

4 Svetovid architecture Server Server running on one computer running on one computer Any number of clients Any number of clients running on other computers running on other computers Both server and clients are written in Java 5 Both server and clients are written in Java 5 Recommended server platform Recommended server platform Windows XP Windows XP Windows NT Windows NT any UNIX platform any UNIX platform Student Instructor Server Student Instructor Server

5 Control (instructor) client Prompts a login dialog Prompts a login dialog Set of configuration dialogs Set of configuration dialogs Setting up courses Setting up courses Managing students Managing students Full control over the conduction of practical exercises Full control over the conduction of practical exercises Groups, order, timing Groups, order, timing

6 Student client Prompts a login dialog Prompts a login dialog IDE allowing the student comfortable work IDE allowing the student comfortable work The files owned by a student are contained in a virtual directory The files owned by a student are contained in a virtual directory

7 Student client

8 Motivation The text component should accommodate the needs of programming The text component should accommodate the needs of programming A third party component was built in A third party component was built in Syntax highlight, parenthesis matching,… Syntax highlight, parenthesis matching,… Main problems: Main problems: No keyboard shortcuts while editing text No keyboard shortcuts while editing text No automatic indention No automatic indention

9 Goals of the extension Create a new text component Create a new text component Usage of the ‘Java Swing’ text package Usage of the ‘Java Swing’ text package Keep all of the previous features and add new ones Keep all of the previous features and add new ones

10 CodeEditorPane New textual component New textual component Extends JEditorPane Extends JEditorPane Main features Main features Syntax highlighting Syntax highlighting Marking bracket pairs Marking bracket pairs Line numbering Line numbering Indent preservation Indent preservation Measures against cheating Measures against cheating Convenience methods for applications Convenience methods for applications

11 Syntax Highlight (1/2) Done in a separate object representing the language Done in a separate object representing the language Interface ProgramLang Interface ProgramLang Language properties Language properties Methods for syntax highlighting Methods for syntax highlighting Whole document Whole document Segment Segment Expanded segment Expanded segment

12 Syntax Highlighting (2/2) Class DefaultLang – default implementation Class DefaultLang – default implementation an empty language an empty language Flexible scanner, easy to extend into new languages Flexible scanner, easy to extend into new languages Currently supported languages: Java, Scheme, Modula2 and TeX Currently supported languages: Java, Scheme, Modula2 and TeX PlainTextLang – for simple textual files PlainTextLang – for simple textual files Automatic detection of languages (extensions) Automatic detection of languages (extensions)

13 Parenthesis matching Pairs of parenthesis usually have a meaning in program code Pairs of parenthesis usually have a meaning in program code Usage of the Highlighter interface Usage of the Highlighter interface

14 Line numbering Made as a separate text pane with line numbers Made as a separate text pane with line numbers Should be built in a JScrollPane as a row header Should be built in a JScrollPane as a row header

15 Code indention Helps to make more readable code Helps to make more readable code On line breaks, the indent from the previous line is copied On line breaks, the indent from the previous line is copied

16 Measures against cheating Usage of the system clipboard is forbidden Usage of the system clipboard is forbidden Overriding cut, copy and paste methods Overriding cut, copy and paste methods Using a local static clipboard Using a local static clipboard

17 Convenience methods for visual implementation Status bar Status bar Row and column of the caret Row and column of the caret Currently active language for highlighting Currently active language for highlighting Toolbar Toolbar Programming language selection Programming language selection Manual syntax highlight refresh Manual syntax highlight refresh Line numbering component Line numbering component Fully set up JPanel with the component Fully set up JPanel with the component

18 Conclusion CodeEditorPane CodeEditorPane Support for all existing features, adding new ones Support for all existing features, adding new ones Flexible syntax highlight system Flexible syntax highlight system Simple to build in into existing applications Simple to build in into existing applications Does not break existing ‘Swing’ text mechanisms Does not break existing ‘Swing’ text mechanisms Unfortunately the new component has not yet been implemented into Svetovid Unfortunately the new component has not yet been implemented into Svetovid

19 Thank you for your attention


Download ppt "Extensions to Svetovid students’ submission environment Doni Pracner, Ivan Pribela, Mirjana Ivanović, Zoran Budimac."

Similar presentations


Ads by Google