20,182,306 2018-2019-1 "Programming and Data Structures" Lessons Learned

20,182,306 2018-2019-1 "Programming and Data Structures" Lessons Learned

(In order) weekly assignments link collections

Preparatory work:

  • Virtual machine installation problems and solutions encountered during the process of recording and learning Linux Basics

    The first week of operation:

  • Linux virtual machine configuration, environment, learning and stepping git

    The second week of work:

  • Two input numbers, calculate two numbers plus, subtraction, multiplication, and division calculation result and output.

    The third week of operations:

  • Generates a random number (1.5 min) of between -10 and 10, and output format (0. ###)
  • Writing a Book class, its instance data indicate the title, author, publisher and copyright date. Book defines a constructor, and initialize instance data received; get and set methods for all their instance data defined; defines a toString method that returns the string lines book described. Bookshelf create a class driver, which outputs main method and a number of examples of the Book object.

    The fourth week of work:

  • Test Interface (Interface)
    define an interface People, and further define a Student class that implements the interface.
    And do a simple test (StudentTest).

    Fifth week of work:

  • Preparation of complex and rational support (fraction) calculator
    (1) may select or calculate a plurality of rational numbers can also choose "exit";
    (2) a plurality of such requests must implements Comparable interface and compare the size of two complex numbers;
    (3 ) required to draw a WhiteStarUML UML diagrams, student number plus blue ink spread cloud;
    (4) IDEA requires the code to the code git cloud;

    Sixth week of work:

  • FileTest file class class reference cloud resources in the
    learning byte stream and character stream, requires the ability to achieve the creation of a file, using four methods to write and read files (each method must upload the result screenshots)
    using a method of arbitrary two a plurality of write to a file, then read out the two complex
    do add operations after reading, re-writing the result file obtained
    code to the code git cloud, cloud code and attach theme (links must be accurately to specific files or folders !!!!)

    Seventh week job

  • ArrayStack complete the implementation class textbooks, in particular to achieve complete peek, isEmpty, size and toString method, and complete the test of the four methods.
  • Outputting a command line postfix expression:
    74-3 * 15 + / *
    is calculated using the value of the expression stack.

    Week 8: Work

  • Chain practice requires the following functions:
    (1) keyboard input by an integer number, to establish a chain;
    (2) implemented node insertion, deletion, output operation;
    (3) using bubble sort or selection sort method according to the numerical size of the list, Sort;
  • Method definitions given size, isEmpty toString, and the like, in order to achieve complete LinkedStack class.
    Requirements: 1 can run
    2. The need for each test method
    3. The code is uploaded to the cloud code and the key code, and operation results watermarked theme (school) upload.

    Assignment for Week 9:

  • PP15.2 achieve complete CircularArrayQueue class, including all the methods.
    Note: Request by the team and the operations team, the case team and the team is full of empty appearance.
  • Learn ArrayList and LinkedList class and implement add, delete, modify the Android platform and other operations (data can define your own) (3 points), and realize upside down (3 points).
    Inversion means: 12345 becomes 54321
  • Given key sequence 1,914,231,682,084,275,511 10 79 Subjects were using sequential search, binary search, binary sort tree lookup, the hash lookup realize the search (linear probe method and a chain address method). Draw their corresponding storage format (sequential order of the lookup table, find the binary decision tree, binary sort tree lookup binary sort tree, two kinds of hash lookup hash table), and calculates each lookup the success of the average search length. Wherein, the hash function H (k) = k% 11.
  • Searching like to add binary search algorithm recursive implementation. Create a driver to demonstrate this implementation mechanism.
    (1) programming recursion
    (2) create a test class, test recursive binary search is correct.

    Assignment for week 10:

  • (1) Given AB # CD ### E # F ## to establish a sequence of a tree, The tree constructed according to "generate binary tree" algorithm.
    (2) a method using complete traversal traversal sequence and testing.

    Week 11 Homework:

  • Establishing a binary sort tree, like for example shown in annex. Complete:
    (1) create a binary sort tree
    (2) find an element, comprising lookup successes and failures;
    (3) into two elements, one inserted into the left subtree, one inserted into the right subtree;
    ( 4) delete an element, to consider the different situations.
  • With character set: S = {a, b, c, d, e, f, g, h, i, j, k, l, m, nopq, r, s, t, u, v, w, x, y, z}.
    Given a 26 letters of the file containing the statistical probability of occurrence of each character, based on the calculated probability construct a Huffman tree.
    English documents and complete the encoding and decoding.
    Requirements:
    (1) Prepare a 26 letters of the English file contains (or may not contain punctuation, etc.), the probability of each character's statistics
    (2) Huffman tree structure
    (3) of the English files are encoded, outputs a coded file
    (4) to decode the encoded file, a file outputting decoded
    (5) Write a blog about design and implementation process of the experiment, and the source code cloud spread
    (6) the results screenshots uploaded to the cloud class lesson

    Week Twelve jobs:

  • And stores a calculation of the nodes of FIG.
    (1) there is defined (the arrow in FIG accessory is removed) to the directed graph of vertices and without matrix and the adjacency matrix, and calculate the degree and out of each node. (3 points)
    (2) is defined with the weighted street map table, and calculates the degree of each node (2 minutes)

    Week 13 Homework:

    Programming practice:
    (1) write the initialization code and a directed acyclic graph with a directed acyclic graph (see Annex 1 and 2), using the adjacency list Initialization Figure (3 points).
    Topological Sort (2) using a stack implementation topological sort algorithm, the output sequences and attachment of FIG. 1 without the ring, detecting the presence of ring attachment FIG. 2 (4 points).

    I think the best written a blog is? why?

    I think it is Huffman test, because this experiment they have fully prepared, after this great experiment done their own harvest, but also very happy, very early blog was also completed.

    MOST READ job of a blog is? Talk about the experience

    Preparatory work, the essay blog highest amount of reading, and we may then all curious about the new curriculum.

(In order) test summary report links

Experiment one experiment name: Linux Foundation and Java development environment

Brief content:
Based on the command line and IDE [Intellj IDEA Easy Tutorial] ( simple Java program editing, compiling, running and debugging http://www.cnblogs.com/rocedu/p/4421202.html) . (The experiment uses the command line)
to practice basic Linux command;
learning skills JDB to debug Java programs: https://www.cnblogs.com/rocedu/p/6371262.html
write simple Java programs.

The second experiment Experiment name: the Java basis (data / expression, judgment / loop)

Brief content:
write a simple calculator, complete arithmetic modulo operation.
Requires two numbers input from the keyboard, using the decision statement to select an operation after the calculation result output, then it is determined to continue to select and calculate the loop or exit.
Write test code, test verification. ( Https://www.cnblogs.com/rocedu/p/4472842.html )

Third experiment Experiment name: Object-Oriented Programming

Brief content:
download and install and use the IDEA, following the completion of the experiment ( https://www.cnblogs.com/rocedu/p/6371315.html ).
Preliminary testing master unit and TDD
understand and master object-oriented three elements: encapsulation, inheritance, polymorphism (own to learn!)
Preliminary master UML modeling
complete the blue ink cloud (1) - (5) experiments.

Experiment 4 Experiment name: the Java programming the Socket

  • Java Socket programming
    learning cloud blue ink materials "and the Java programming Android" "Chapter 16 input / output" and "Chapter 22 Network", learning programming JavaSocket
    pair programming. A knot writing partner for clients SocketClient.java, twinning partner B write server-side.
    Screenshot plus student number watermarking upload blue ink clouds, cloud yards to push the code and write a lab report.
  • Java and cryptography
    at the junction of the way to complete learning Java cryptography-related content (post code and all relevant knowledge need to learn). Learning outcomes code link to submit clouds and representative results of screenshots, to have student number watermark.
    Write rational / plural Calculator
    remotely rational calculator
    remote complex calculator

Experiment 5 Experiment name: Android Programming

  • Android Stuidio the installation and testing:
    reference "Java and Android Development Study Guide (Second Edition) (EPUBIT, Java for Android 2nd )" Twenty-four chapters:
    Reference http://www.cnblogs.com/rocedu/p/6371315 .html # SECANDROID, install Android Stuidio
    complete Hello World, modify the content requirements res directory, the Hello World to show their student ID, a number of school students before and after their own student number, submit the code run shot and cloud Git link code screenshot no student number to the point
    of learning Android Stuidio debug applications
  • Activity Test
    Reference "Java and Android Development Study Guide (Second Edition) (EPUBIT, Java for Android 2nd )" Twenty-five chapters:
    build the project, run the code related materials
    created ThirdActivity, show their student number in ThirdActivity, modify Code let MainActivity start ThirdActivity
  • UI testing
    : reference "Java and Android Development Study Guide (Second Edition) (EPUBIT, Java for Android 2nd )" Twenty-six chapters
    build the project, run the code related materials
    show their student ID information to modify the code so that the message Toast
  • Test layout:
    reference "Java and Android Development Study Guide (Second Edition) (EPUBIT, Java for Android 2nd )" Chapter XXVII:
    build the project, run materials relevant code
    to modify the layout of the interface to different pages and materials P290
  • Event handling test:
    reference "Java and Android Development Study Guide (Second Edition) (EPUBIT, Java for Android 2nd )" Twenty-eight chapters:
    build the project, run materials relevant code
    submit code run shot and cloud Git code links, screenshots Student ID must have watermarks, otherwise they will be penalized

Sixth experiment Experiment name: the list of linear structure

  • Chain practice required to achieve the following functions:
    the keyboard to enter some integer, the establishment of a list; these numbers is your student number in the double digits sequentially removed, with today's time.
    Print the list of all the elements, and the output of the total number of elements.
    In your program, please use a special variable name to record the total number of elements, the variable name is your name.
    This step is done, your program checked into source control (git push).
  • Chain practice required to achieve the following functions:
    to achieve node insert, delete, output operations;
    continue you on a program to expand its functionality, each finished a new feature, or written more than 10 lines of new code, then check the code, submit source code to the server;
    read from a disk file, this file has two numbers.
    Digital read from a file 1, bit 5 is inserted into the list, and the total number of digital printing, and elements. Keep this list, proceed to the next operation.
    Digital read from the file 2 is inserted into the list of 0, and the total number of printed numbers, and elements. Keep this list, and proceed to the next operation.
    Just delete numbers from the list and print the total number 1. All figures and elements.
  • Chain practice required to achieve the following functions:
    using bubble sort or selection sort method to sort the list based on the numerical size;
    if your student number is singular, select the bubble sort, selection sort or choose.
    In each round of sorting, the total number of print elements, and all elements of the current list.
    Continue to expand in the program (2) obtained with the same program file, write different functions to achieve this function.
    Experiment implement (1) in the android and (2)
    is implemented on the platform android Experiment (3)

Experiment 7 Experiment name: Find and Sort

  • Searching and Sorting define a class, and implements linearSearch, SelectionSort class methods, and finally to complete the test.
    Test requires less than 10, the design submitted test cases (normal, abnormal, boundary, positive sequence, reverse), the data to be included with the embodiment student number four after their
    submission operation result of FIG.
  • Refactor your code, the Sorting.java Searching.java into cn.edu.besti.cs1823 (initials + four-digit student number) package. (Example: cn.edu.besti.cs1823.G2301)
    the test Code discharge test package
  • Recompile, run the code, submit to compile, run shots (IDEA, a command line)
  • Reference http://www.cnblogs.com/maybe2030/p/4715035.html, learn a variety of search algorithm search algorithm in adding Searching and test run results submitted screenshots
    • Talked about the supplements to achieve class sorting methods
    • Hill sort, heap sort, binary tree sorting (at least 3)
    • Test algorithm implemented (normal, abnormal, boundary)
    • Operating results submitted screenshots (If you write more than one sort algorithm, even though three of the sort program is defective, you can get out as appropriate)

Experiments eight Experiment name: Tree

  • Reference materials PP16.1, to achieve complete chain LinkedBinaryTree tree (getRight, contains, toString, preorder, postorder)
    • Tested LinkedBinaryTree own implementation with JUnit or write your own driver class
    • Submit test code run shot, to full-screen, contains its own student number information
    • Under the code class code that pushes hosting platform
  • LinkedBinaryTree, realize the function based on (in order, first order) unique sequences configured based on a two 㕚 tree, such as given in sequence and subsequent HDIBEMJNAFCKGL ABDHIEJMNCFGKL, tree constructed drawings
    • Performed with JUnit or write your own driver class of functions to achieve their own test, submit test code run shot, to full-screen, contains its own student number information
    • Under the code class code that pushes hosting platform
  • Own design and implement a decision tree; submit test code run shot, to full-screen, contains its own student number information
    Course under the code pushed to code hosting platform
  • Enter infix expression, use the tree to convert the infix expression to postfix notation, and output postfix expression and the results
    submitted to the test code run shot, to full-screen, contains its own student number information

Experimental nine Experiment name: Figure

  • Initialization: The screen prompts (e.g.: Input 1 undirected graph, a directed graph input 2) Initialization undirected and directed graph (the adjacency matrix is ​​available, can also be used adjacent table), FIG need to define (the number of vertices, the number of edges, it is recommended to draw a map on scratch paper, and then enter the number of vertices and edges) (2 minutes)
  • FIG traversal: There is completed (depth and breadth first traversal) to traverse to view and FIG None (4 minutes)
  • SORT to complete topology map, and outputs an output of the sequence or topological sort exists FIGS ring (3 min)
  • FIG completion of the minimum spanning tree (Prim algorithm or algorithms can Kruscal), and output (3 points)
  • Solution has completed (Dijkstra) (3 min) to a single-source shortest path of FIG.

(In order) team project summary report links

Code hosting

  • Code hosting
  • Given statistic.sh operating results, indicating that this semester the amount of code does not achieve the goal?

Originally planned for the 6000 amount of code lines, through the efforts of a semester, I reach the target amount of code, and exceeded 10,000 rows.

  • Add a little code change point code is the best way to understand the reference to the programming of wisdom, talk about your experience
    all the code can not be done completely by one person, but a good understanding of the meaning of the code at the time of borrowing code, It is the harvest.
  • Proactive knock codes do not? What lessons on teaching practice?
    It will take the initiative to complete the job, and can not be referred to as proactive knock codes, lot codes on the source code from the book, from the Baidu search code for a long time open book, the code in the book.

Classroom Practice project

  • Classroom Practice Link (can not not listed)
    • -Scanner & JDB classroom practice exercises
    • Practice writing class
    • Random testing and NumberFormat
    • Interface practice
    • Plural / rational calculator (Interface)
    • File read and write
    • Mid-term test
    • Time complexity analysis
    • ArrayStack class implementation and testing
    • Postfix expression
    • Article out - Stack - Stack arrays to achieve
    • Chain stack completion (LinkedStack completion) size \ isEmpty \ toString \ Push
    • Insert list
    • Practice list
    • CircularArrayQueue completion method
    • Practice linear table (ArrayList, LinkedList)
    • Find and ASL operations (programming + computing)
    • Binary search (binary search) Practice
    • Quick Sort Test (must have intermediate process)
    • Select sort worst case
    • Tree - calculation problems
    • In order and first-order structure of binary tree computing
    • Establishment and Practice of Sequence binary tree traversal method
    • Recursive sequence before and after the non-recursive pre preorder Practice
    • Heap sort process test
    • Binary sort tree practice
    • Huffman coding practices
    • Huffman encoding test
    • Figure practices
    • Cross training list
    • Figure of DFS and BFS test
    • Examination arrangements conflict (Paint)
    • Minimum Spanning Tree Test
    • Dijkstra (Dijkstra) algorithm testing
    • AOE / AOV practice
    • Topological sorting Practice Test

Course harvest and insufficient

  • Their harvest (investment, efficiency, effectiveness, etc.)
    own investment of time or a lot, after all, the subject of this large task, lectures fast, a lot of knowledge to be self;
    efficiency I think he does not high, because many times their own learning There is no way, resulting in a lot of time wasted in vain.
    In effect it may not be their most anticipated start feeling, but to gain something.
  • They need improvement
    I think they need to improve the efficiency of learning, after all, such a large task class, spend a lot of time, but the results did not meet their demands.
  • Twinning is not really implemented the study? Write what you offer help or accept any help, and teacher recommendations provide a reference
    of this course, although guitar lessons, but I did not really implement, but simple to understand to understand fur, also accepted from students, seniors all kinds of help sister school and teachers.
    It recommended that the teacher can open either subject, the amount of information is too great, my brain is not receiving 1KB APP 1G, ah! ! !
  • Questionnaire
    • Your average weekly put to effective learning in this course how much time?
      In general, it should be maintained for about 20 hours.
    • Weekly learning efficiency has been improved it? How do you measure?
      emmmm Well, good times and bad learning efficiency, but also and overall academic mission and the pressure is related to the column, if subject to the exam, energy will be put there, learning efficiency will drop; sometimes a whim , learning efficiency will improve.
    • Use blue ink cloud class lesson you learn to promote it? Any suggestions and comments?
      Is helpful, after all, they can also find job submission, you can see the future. For views of blue ink cloud class lesson I am more Buddha system, nothing is recommended .....
    • Do you think this course teachers should continue to do what thing?
      Multi-knock some code together with everyone in the experimental class, you can better understand.
    • Do you think this class the teacher should stop doing what one thing?
      Arranged a little less work now, we are under great pressure, save our children now!

A link to your summary related to the two-dimensional code

  • the first week

  • the second week

  • The third week

  • the fourth week

  • fifth week

  • Sixth Week

  • Week Seven

  • Eighth Week

  • Week Nine

  • The tenth week

Guess you like

Origin www.cnblogs.com/yanhan1/p/12110894.html