Skip to content

Commit 7eb441d

Browse files
committed
update 2 read me files
1 parent fd8f6f6 commit 7eb441d

2 files changed

Lines changed: 23 additions & 24 deletions

File tree

hws/inverse_word_search/README.md

Lines changed: 15 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,8 @@
1-
**Special Note 1: A correct program does not necessarily pass all the test cases for this assignment, as Submitty may let you fail a test case if your program is not fast enough or consumes too much memory.**
2-
31
# Homework 6 — Inverse Word Search Recursion
42

53
In this homework we will build an inverse word search program using the techniques of recursion.
64
The goal is to construct a grid of letters that one can search to find specific words. Understanding the non-linear word
7-
search program from Lectures 12/13 will be helpful in thinking about how you will solve this problem.
5+
search program from Lectures will be helpful in thinking about how you will solve this problem.
86
We strongly urge you to study and play with that program, including tracing through its behavior using a
97
debugger or cout statements or both. Please read the entire handout before beginning your implementation.
108

@@ -49,8 +47,6 @@ solution, your program should just output the first legal solution it finds (it
4947
number of solutions, nor does it need to be the first solution shown in our output). If the puzzle is impossible
5048
your program should output “No solutions found”.
5149

52-
**To implement this assignment, you must use recursion in your search.** First you should tackle the problem of finding and outputting one legal solution to the puzzle (if one exists).
53-
5450
<!-- ## Algorithm Analysis
5551
5652
For larger, more complex examples, this is a really hard problem. Your program should be able to handle the small puzzles we have created in a reasonable amount of time. You should make up your own test cases as well to understand this complexity. Include these test cases with your submission (they will be graded).
@@ -64,17 +60,14 @@ Once you have finished your implementation and testing, analyze the performance
6460

6561
## Program Requirements & Submission Details
6662

67-
Use good coding style when you design and implement your program. Organize your program into functions:
68-
don’t put all the code in main! Be sure to read the [Homework Policies](https://www.cs.rpi.edu/academics/courses/spring25/csci1200/homework_policies.php) as you put the finishing touches on your solution. Be sure to make up new test cases to fully debug your program and don’t forget
69-
to comment your code! Use the provided template [README.txt](./README.txt) file for notes you want the grader to read.
70-
You must do this assignment on your own, as described in the [Collaboration Policy & Academic Integrity](https://www.cs.rpi.edu/academics/courses/spring25/csci1200/academic_integrity.php) page. If you did discuss the problem or error messages, etc. with anyone, please list their names in your README.txt file.
63+
**To implement this assignment, you must use recursion in your search.**
7164

72-
**Due Date**: 03/13/2025, Thursday, 10pm.
65+
**Due Date**: 03/13/2026, Friday, 11:59pm.
7366

7467
## FAQs
7568

7669
1. Q: Am I allowed to use data structures not covered in this class?
77-
A: Yes. For this homework, you can use whatever data structures you want to use; but last year, the student who topped the leaderboard with a very large margin, did not use any fancy data structures. The student used std::set, but did not use std::unordered_set or std::unordered_map, or any data structures which had not been covered in this class.
70+
A: Yes. For this homework, you can use whatever data structures you want to use;
7871

7972
2. Q: Can I use global variables for this homework?
8073
A: Yes, you can.
@@ -91,31 +84,29 @@ You must do this assignment on your own, as described in the [Collaboration Poli
9184
6. Q: If I fill in all the words in the grid and there are still some empty slots, what characters do I fill in the these extra spaces?
9285
A: You can fill in any lower case letter there and make sure it doesn't introduce a forbidden word. A single letter gives you one solution; replacing it with another letter would give you another solution, and in total, this would lead to 26 potential solutions, since there are 26 lower case letters.
9386

94-
7. Q: What bonus do I get if my program ranks higher than the instructor's program on the leaderboard?
95-
A: If by Thursday night 10pm (which is the submission deadline), your program ranks higher than the instructor's program, you have many options. You can choose one of these:
96-
- Drop the lowest test score
97-
- Drop the lowest homework
98-
- Skip 1 future homework
99-
- Skip test 3
100-
101-
You will receive an email asking you about which option you want to choose, or if you want to propose a different option.
87+
7. Q: What bonus do I get if my program beats last year's best record as shown on the leaderboard?
88+
A: If by the submission deadline, your program ranks higher than last year's best record as shown on the leaderboard, you have 3 options. You can choose one of these:
89+
- Skip all remaning homeworks and labs, and receive full credits for all of them.
90+
- Skip test 2 and test 3 and receive full credits. (This means you must beat the best record before Thursday March 12th, the test 2 time).
91+
- Skip final exam and receive full credits.
10292

93+
<!--
10394
## Rubric
10495
10596
20 pts
10697
- README.txt Completed (3 pts)
10798
- One of name, collaborators, or hours not filled in. (-1)
10899
- Two or more of name, collaborators, or hours not filled in. (-2)
109-
- No reflection. (-1)
100+
- No reflection. (-1)-->
110101
<!-- - LETTER GRID REPRESENTATION (3 pts)
111102
- Grid is not represented via nested structure vector&lt;vector&lt;char&gt;&gt;, vector&lt;vector&lt;string&gt;&gt;, vector&lt;string&gt;, char\*\*, etc. (-2)
112103
- Lookup of a position is not O(1), uses something like&lt;list&lt;char&gt;&gt; which has lookup of O(n). (-1)
113104
- Incomplete to the point that no grid representation is evident within their code. (-2)
114105
-->
115-
- USES RECURSION (10 pts)
106+
<!-- - USES RECURSION (10 pts)
116107
- Use some non-trivial recursion but doesn’t use recursion in the search process of board creation. (-3)
117108
- Uses recursion but only trivially. (-7)
118-
- Does not use any recursion. (-10)
109+
- Does not use any recursion. (-10)-->
119110
<!-- - ALGORITHM ANALYSIS (In terms of the grid dimensions, the # of words, # of letters per word, the number of solutions etc. Looking for both an answer in order notation and a well-written justification in the plaintext README.txt file.) (5 pts)
120111
- No order notation provided (-5)
121112
- Order notation not written in terms of the provided variables w,h,r,f,l,s. Introduces new vars or provides it just in terms of n. (-2)
@@ -130,12 +121,12 @@ You must do this assignment on your own, as described in the [Collaboration Poli
130121
- Does not provide an adequate description of what the new testcases were in the README. (-2)
131122
- Did not provide running times of the new test cases. (-1)
132123
- Provides new test case description but implementation/test was missing from the submission. (-1)
133-
- Did not provide new test cases or implementation too incomplete for new test cases. (-3)-->
124+
- Did not provide new test cases or implementation too incomplete for new test cases. (-3)
134125
- PROGRAM STRUCTURE (7 pts)
135126
- Putting almost everything in the main function. It's better to create separate functions for different tasks. (-2)
136127
- Function bodies containing more than one statement are placed in the .h file. (okay for templated classes) (-2)
137128
- Functions are not well documented or are poorly commented, in either the .h or the .cpp file. (-1)
138129
- Improper uses or omissions of const and reference. (-1)
139130
- At least one function is excessively long (i.e., more than 200 lines). (-1)
140131
- Poor file organization: Puts more than one class in a file (okay for very small helper classes) (-1)
141-
- Poor choice of variable names: non-descriptive names (e.g. 'vec', 'str', 'var'), single-letter variable names (except single loop counter), etc. (-2)
132+
- Poor choice of variable names: non-descriptive names (e.g. 'vec', 'str', 'var'), single-letter variable names (except single loop counter), etc. (-2)-->

labs/recursion/README.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -107,8 +107,13 @@ delete <BNUM>
107107

108108
6. Place another breakpoint at the first line of your recursive function. And then let the program run
109109
until it reaches the next breakpoint by typing:
110+
111+
```console
110112
continue
113+
```
114+
111115
When gdb pauses, it should inform you of the current program line number.
116+
112117
7. Now let’s step into your recursive function to get a closer look at recursion. Let the program run until
113118
it enters the first recursive function call:
114119

@@ -125,6 +130,7 @@ print y
125130
```
126131

127132
If you are using grid2.txt as your grid, these values should read x = 9 and y = 7.
133+
128134
8. Let’s navigate within our recursive algorithm using step and next. NOTE: Though similar sounding,
129135
these are two different commands in gdb/lldb. step will enter into the details of a called function and
130136
allow you to walk through its code, while next will fully execute one line from the current function
@@ -142,10 +148,12 @@ print blocked_grid[x-1][y+1]
142148
```
143149
Because gdb supports using basic math on these variables, we can also print the grid values above,
144150
below, to the left, and to the right of our current position.
151+
145152
9. Use step and continue to go further and further into the recursion. Use backtrace to show the
146153
function calls currently on the call stack, including the specific line numbers. As you walk step by step
147154
through your algorithm and print data, do the variable values and sequence of locations and function
148155
calls match your expectations? Ask a TA or mentor if you have questions about this information.
156+
149157
10. Finally, delete all of the breakpoints and then let the program finish without interruption.
150158

151159
```console

0 commit comments

Comments
 (0)