"Data structure and algorithm" Curriculum Design Teaching task book
--2015-2016 ( i)
Course Design Week number: 2 Week
I. The purpose of curriculum design
The course of data structure is mainly to study the computer operation object and the relation and operation of the non-numerical computing programming problem. Data structure is a core course of computer science between mathematics, computer software and computer hardware, it is the important foundation of computer program design, database, operating system, compiling principle and artificial intelligence, which is widely used in various fields such as informatics and system engineering.
The data structure is learned to represent and process the objects involved in the actual problem in the computer. Through curriculum design can improve students ' thinking ability, promote students ' comprehensive application ability and professional quality improvement. This course is designed to achieve the following objectives:
n Understand and master the design method of data structure and algorithm, have the initial independent analysis and design ability;
N to master the basic methods and skills of problem analysis, System design, program coding and testing of software development process;
n improve the ability to analyze and solve problems independently by using the theoretical knowledge and methods learned in a comprehensive manner;
n Training systems and software development of the general norms of software development, training software workers should have the scientific work methods and style.
II. Basic requirements for curriculum design
1, independent thinking, complete independently: the design of each task in the course design and debugging requirements for independent completion, encountered problems can be discussed, but can not be copied.
2, do a good job on the machine preparation: Every time before the machine, to prepare the pre-commissioning procedures, carefully think about the debugging steps and the setting of the environment, prepare the relevant documents.
3, according to the specific requirements of the curriculum design set up the function module, each module requirements according to the following several content to be completed conscientiously;
These include:
A) Demand analysis:
Described in this section, the functional requirements of each module
b) Summary Design
Here is a description of the algorithm design for each section (which can be a flowchart describing the algorithm), a description of the storage structure used in each program (if you specify a storage structure, write out the definition of the storage structure.
c) Detailed design
Each algorithm implementation of the source program, for each topic to have a corresponding source program (can be a set of source programs, each function module with different functions)
The source program is written according to the rules of the writing program. To structure clear, key function of the key variables, the key function of the part to add a clear program comments.
d) Commissioning Analysis
Test data, test output results, time complexity analysis, and consideration of problems with each module design and commissioning (what are the questions?). How to solve the problem? ), the improvement of the algorithm is envisaged.
Summary of course Design: (saved in Word document) The summary can include: the course design process of the harvest, encounter problems, problems to solve the problem of the process of thinking, program debugging ability, thinking about the data structure of the course, in the course design process of the "data structure" curriculum knowledge and other content;
4, the results of each group must be checked and demonstrated, the program source code and procedures of the documentation must be submitted as part of the assessment content, (handed in a copy of each, the folder name rules are: "Study number names", such as "200413498 Gaoqui". This folder includes at least: source code, course design report, executable file. By the Learning Committee to collect the inscription in accordance with the stipulated time of the unified hand-over).
5. The course design report should not be attached to the original code, the key functions and structure can be explained. The format of the report is described in requirements.
6. Report Submission
Time: The 18th week of the last class inspection, 19th week Monday 11:30 by the Study Committee to collect the surrender, late delivery no results.
Form: Course design report paper and electronic documents (according to the class uniform engraved).
Third, the curriculum design content:
1 , Internal sequencing Demo
"Problem description"
A test program is designed to compare the number of keyword comparisons and movements of several internal sorting algorithms to gain an intuitive feel.
"Basic Requirements"
(1) Comparing the bubble sorting, direct sorting, simple selection sorting, quick sorting, hill sort, and heap sorting algorithm;
(2) The keyword of the element to be sorted is an integer. The data to be generated by pseudo-random generation program (such as 10,000), at least 5 sets of different input data for comparison, and then use a variety of algorithms to sort it, record its sequencing time, and then summarize the comparison.
(3) The demonstration program is conducted in the form of man-machine dialogue. Each test completes a list of comparison indicator values, represented by a pie chart or bar chart, to compare the merits of various sorts.
(4) interface friendly, easy and operation. Choose from a menu style.
"Choose to do Content"
(1) Comparison of different table lengths;
(2) Verify the stability of each algorithm;
(3) Optimization of the output interface.
(4) Use Chinese character display.
2 , Campus Guide Consultation
"Problem description"
Design a campus guide program for visitors to provide a variety of information inquiries services.
"Basic Requirements"
(1) To design the campus plan of Changchun University of Science and technology, including not less than 10 attractions. The points in the picture are represented in the campus, and the names, codes, profiles and other information of the places are stored. The path is represented by the edge, and the length of the path is stored.
(2) To provide visitors with information about any of the attractions in the map.
(3) To provide visitors with the map of any of the attractions of the road query, that is, the search for any two attractions between the shortest simple path.
"Choose to do Content"
(1) Perfecting the system function;
(2) Provide the function of finding all the paths between any two attractions;
(3) to provide the best access route query for many attractions in the campus map, that is, to find the best (short) route through the many attractions.
(4) Use Chinese character display.
3 , Build Contacts
"Problem description"
Design a hash table to implement the Address Book lookup system.
"Basic Requirements"
(1) Each record has the following data items: Telephone number, user name, address;
(2) Enter each record from the keyboard, and set up a hash list with the phone number as the key word respectively;
(3) The use of two-time detection and re-hashing method to resolve the conflict;
(4) Find and display a record of a given phone number;
(5) Address Book information file preservation;
(6) Human-machine interface friendly, use of graphical interface;
"Choose to do Content"
(1) Perfecting the system function;
(2) Design different hash function, compare the conflict rate;
(3) Under the premise of the hash function determination, try various kinds of methods to deal with the conflict, and examine the change of average finding length.
(4) Use Chinese character display.
"Implementation Tips"
Main function: Call each function according to the option of the menu, and complete the corresponding function.
Menu () function: Displays the English prompt menu.
Quit () function: Exit the menu.
Create () function: Creates a new address book.
Append () Function: Write new information at the end of the Address book and return to the menu.
Find (): Queries a person's information, if found, displays the person's information, and if not, prompts for information in the Address book without the person and returns to the menu.
Alter () function: Modify a person's information, if you do not find the person to be modified, you are prompted to contact the person's information, and return to the menu.
Delete () function: Remove a person's information, if you do not find the person to delete, then the person in the Address book does not have information, and return to the menu.
List () function: Displays all records in the Address Book.
Save () function: Saves all records in the address book to the specified file.
Load () function: reads the records from the address book from the specified file.
4 , Huffman Code/ Decoder
"Problem description"
Design a Huffman coding/decoding system, the characters in a text file Huffman code, generate encoded files (compressed file, suffix name. cod); In turn, a compressed file decoding can be reverted to a text file (. txt).
"Basic Requirements"
(1) Enter a text file name to be compressed, the number of characters in the statistical text files as the weight value, to generate Huffman tree;
(2) The text file is encoded using Huffman tree to generate a compressed file (suffix cod),
(3) Enter a name for the compressed file to be decompressed, and use the corresponding Huffman tree encoding sequence decoding;
(4) Display the specified compressed file and text file;
(5) interface friendly, easy and operation. Choose from a menu style.
"Choose to do Content"
(1) The Huffman coding with bits to a variable, the use of bit operations for real data compression, and to find compression ratio.
(2) Display Huffman tree;
(3) Use Chinese character display.
5. Sports Meeting Score statistics
"Problem description"
There are n schools in the sports meeting, and the school number is 1......N. The game is divided into M men's projects, and the W Women Project. Project number for men 1......m, women m+1......m+w. The first five or the top three points for different projects; the points for the top five are: 7, 5, 3, 2, 1, the top three points are: 5, 3, 2, which take the top five or the first three are set by the students themselves. (M<=20,N<=20)
"Functional Requirements":
1) You can enter the top three or top five results of each project;
2) The total score of each school can be counted;
3) The output can be sorted by school number, school total score, male and female group score;
4) You can inquire about a school project by the school number; You can search for the top three or the top five schools by item number.
"Basic Requirements"
1) input data form and range: integers within 20 (if done better you can enter the name of the school, the name of the sports item)
2) Output form: Chinese prompt, each school score is plastic
3) interface Requirements: There are reasonable hints, each function can set up a menu, according to the prompts, can complete the relevant functional requirements.
4) Storage structure: Students themselves according to the system function requirements of their own design, but the requirements of the sports meeting data to be stored in the data file.
6 , article editing
"Problem description"
Enter a page of text, the program can count the number of words, numbers, spaces.
"Basic Requirements"
Static storage of one page of articles, each line up to 80 characters, a total of n rows;
(1) The number of English letters and spaces and the total words of the whole article were counted;
(2) Count the number of occurrences of a string in the article and output the number of times;
(3) Delete a substring and move the following characters forward.
The storage structure uses the linear table, and uses several sub-functions respectively to realize the corresponding function;
Enter the form and range of the data: You can enter uppercase, lowercase letters, any numbers, and punctuation.
Output form:
(1) The branch outputs the characters of each line entered by the user;
(2) 4 lines output "All letters", "Number of Numbers", "number of spaces", "total words of the article"
"Choose to do Content"
(1) Output Delete a string after the article;
7 , student performance management system
"Problem description"
C language to write a simple student information management program, can achieve the simple management of student information.
"Specific Requirements"
Establish an information registration form for 4 students, each student's information includes: study number, name, and 3 course results (fox,c,english).
A simple menu is displayed when the program runs, for example:
(1): Information input
(2): Total statistics (count)
(3): Total score sort (sort)
(4): Inquiry (query)
which
(1): Input the information of 4 students;
(2): The total score of 3 courses for each student;
(3): The total score of 4 students is sorted in descending order and displayed;
(4): The query input a student number, display the relevant information of the students;
8. Self-selected topic
Allow students to have the ability to choose the topic, but the topic must be written in accordance with the above format "problem description" and "Specific requirements", and the workload of the topic to meet or exceed the problem has been given, and by the guidance of teachers to approve the subject of the optional topic of the course design.
Iv. handing in assignments and grading of achievements
1 , submit requirements
Submit design reports and related discs. One design report should be submitted in the form of a printed copy. The CD content includes the program source code design report Electronic document. The entire class is designed to be engraved on a single disc, which can be stored by name or by grouping the relevant folders.
2 , scoring standards
According to the completion of the task (must be a system demonstration), the quality of the course design report and the course design process of the work attitude in accordance with the 30%, 50%, 20% weighted comprehensive rating. The performance evaluation is excellent, good, medium, pass and fail five grades. On-Machine procedures to check the failure of the person, no design report and seriously plagiarism other designers, the results of failure.
Number of absences |
Final results |
1 plays |
In and below |
2 times and above |
Fail to pass |
Note:
Each class is divided into 7-8Groups , each group of 4-5People.
Design topic: (Topic: Study Number %7 , the remainder is 1 , 2 , 3 , 4 , 5 , 6 , 0 make the first one separately 1 , 2 , 3 , 4 , 5 , 6 , 7 , questions)
Each group of students between the design content and report documents must not be identical, or failed to pass the grade.
Sophomore first semester final course design 2015.12.28