Mathematical reasoning in software engineering education


















In this unit, there are core and elective subunits that 2. Numbers contain topics related to formal specification, pre- and post- 2. Relations and functions conditions, unit and black-box testing, etc. We have used 2. Graph theory mathematical, model-based specification techniques as a guide to 2. Permutations and combinations neatly tie many of these disparate topics together into a coherent 3. Precise 3. Motivation package. For example, here is a subset of the specific topics listed Specifications 3.

Specification structure in the curriculum under the Software Engineering 3. Abstraction knowledge unit that we are able to correlate with our RCI-based 3. Specifications of operations instruction for software design. Modular 4. Motivation Reasoning 4. Internal contracts and assertions o The role and use of contracts 5. Correctness 5.

Motivation o Component-level design Proofs 5. It includes understanding of standard logic symbols, generation and black-box testing proof techniques, and connectives, such as implication, o Unit testing quantifiers, and supposition-deduction. Students outcomes for each of the five RCI areas. Several of our outcomes must also understand the distinction between mathematical are related to the outcomes in the corresponding topics of the structures and digital structures; e.

A learning outcome specifies a computer hardware are not the same as mathematical integers. We performance criterion that a student must meet at the end of have ways to describe computer integers with their associated instruction to demonstrate that learning has occurred as expected.

It also indicates the We begin by specifying the learning outcome for a specific RCI expected difficulty, as we fill in the matrix using the taxonomy area as a general instructional objective. The KC learning for software components. For the student performances we expect, thus giving clarification to what RCI, we expect participating CS courses i. To illustrate these specific learning 3 to include among others : discrete structures math , outcomes, we show some of the sublevels of RCI 3 in Table 2.

Table 2. Specification of operations instructional material and various assessments. We utilize the 3. Pre- and post-conditions our materials and adjust how particular concepts are taught. Specification parameter modes use these learning goals and outcomes as a tool for curriculum 3.

Responsibility of the caller alignment, i. Responsibility of the implementer courses collectively cover important reasoning-related topics. Equivalent specifications 3.

Redundant specifications 4. Notation to distinguish an incoming value We have used collaborative classroom exercises and reasoning tools to teach the principles in a sophomore-level Software Based on RCI 3. Engineering course CP SC ; details may be found elsewhere [16, 17]. State the responsibility of the caller of an operation quizzes, etc. Specify the result of invoking an operation based on its RCI 5. Teaching RCI 3.

In Section 3, we expanded RCI 3. Below we show a test question used to assess of difficulty of the expected student performance. This is done by LO3. In this specification, a Queue of Entry is conceptualized as a carefully choosing the verb used in the LO.

We use a variation of mathematical string of entries. For example, writing usually involves work at ensures there exists X, Y: Entry, the synthesis level, and is therefore usually a more difficult there exists Rst: Str Entry such that cognitive task than stating a definition. A valid input is from level courses on up to level courses. The leftmost determined by the requires clause of an operation, and the column lists the general learning objectives e.

By answering this question Table 3. Various questions on different 1 KC AA assessment instruments e. Teaching RCI 4. Table 4. Partial expansion of RCI 4. Design-by-Contract 4. Construction of new components using existing components 4. Implementation of a specification 4. The general instructional objective for RCI 4. To correctly answer questions question requires knowledge of proofs RCI 5 , Boolean logic, about this instructional objective, students are expected to use discrete math, specifications, and modular reasoning.

Here not only do they have to understand the pre- most advanced topic. If incorrect, give one input for outcome. A specific learning outcome that we are testing is Queue Q where the code fails. Show the obligations, if any, in states 5 and 7. This assesses at a higher level i. If the contract specifications are not followed, it is Procedure easy to pinpoint where the errors are. Teaching RCI 5.

Partial expansion of RCI 5. Construction of verification conditions VCs 5. In the reasoning table, students write assumptions and obligations 4. In The table below contains an expansion of RCI 5. If the code 5. Proofs of Verification Conditions VCs entails calling another operation, the pre-condition for the other 5.

Givens to the call. Then, in the next state upon termination , its post— 5. Goals condition may be assumed, i. Application of proof techniques on VCs column. Students can collaboratively complete this table on the … classroom blackboard, either sequentially or in parallel. We are not able to objects, as illustrated in the example given next. Answering the provide examples here due to space limitations. Since 5. We focus our analysis on the outcomes at the end of in detail how a reasoning table is constructed, and how to write the SE course.

The course teaches typical topics, such as the assumptions and obligations. Summative They can be viewed at [20]. The collected data is shown in Table 7. This time the results on the final were better for RCI 5. So, I leave this up to you and do write your opinion in the comment section below.

Well, the answer to the above question totally lies in the area of CS you are interested in. But in general, these are the following areas that you must build a strong grip.

If you think that you need to improve in Maths then this could be a great move. Try learning logic as much as you can. I believe the single most useful kind of mathematics for me was learning school maths.

The formulas and basic concepts that we learned, helped in increasing our logical thought, correctness, and completeness e. Logic and Set Theory classes do the exact same thing when we learn to solve them using all possible cases. So having a good knowledge of Mathematics can directly help you while learning to code, think, analyze cases properly and handing the errors in your software.

This question is my most confusing problem.. But today,it has been solved. Keep continued……respected sir. Sir , can you please elaborate more on what are the different areas of Computer science and to what extent math is necessary for different area of computer science.

Sir I hope you would respond to this at earliest Thank you Sir ,. This site uses Akismet to reduce spam. Learn how your comment data is processed.



0コメント

  • 1000 / 1000