Abstract

It is very hard for faculty members to create programming assignments that are simultaneously challenging, accessible, and practical for students year after year. In some advanced undergraduate courses, most notably software engineering courses, students may specify their own programming projects. We demonstrate here that it is also possible for beginning undergraduate students to have good ideas for realistic programming projects, specifically a simple IDE (Integrated Development Environment) program which lets the user generate a basic GUI. The program then produces as output a Java source file, with some event-handling code, which can reproduce the GUI. Of course, we can't and don't expect the program to have all the features of a professional IDE, but it could be useful for CS1/CS2 students.A freshman CS2 student conceived and implemented this assignment in the Spring 2001 semester as part of an honors contract. Honors students elect to do extra work in courses for credit toward graduation with honors. Such a student designs a contract, to be approved by the instructor, indicating the extra work and its effect on the final grade. Although an honors student developed this project, this project is suitable in general for CS2 students.We now describe the features of the project. A settings frame and a drawing frame appear first. The settings frame allows the user to name the Java output file. It also has a Save button, a text field to control the arrow keys, and checkboxes that allow the user to choose if a main method will appear in the output file, if the resulting application frame will be centered on the screen, and if window listener code will be generated for the application frame. The right mouse button is used to add a component. When the mouse is released, the user chooses the component's type and then the desired variable name and caption. Components appear as black unfilled rectangles. The component declarations (alphabetically by variable name) and skeleton code for handling button clicks will appear in the output file. Clicking the left mouse button in a rectangle turns the rectangle red. The shift key and the left mouse button move such a component. The arrow keys resize the component. Component sizes will be preserved in the output file. The component's properties are updated with the C key. The delete key removes the component.We believe that this project is a challenging (but not impossible) and useful application of CS2 concepts.

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call

Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.