Learning programming and problem solving, like learning a musical instrument or a sport, requires practice, lots of practice — you cannot simply read about or memorize the concepts. These problems are meant to give you quick feedback about how well you have solved the problem. Each problem typically involves writing one or more methods that are then tested on a variety of input values. Many of these problems will be used as part of the Programming Assignments, giving you the chance to better understand those projects and the confidence that core pieces of the project are working before you have to code those.
Attempting to do these problems each week will give you a good sense of how well you are keeping up with the course material. Also, completing past problems may not help your grade directly, but it is an excellent way to study for the exams.
Log in to access the problems assigned here.
Problem Set 9, due Tuesday, December 6
Complete at least 0 of the 5 problems below for base credit, additional ones for bonus credit. Required problems are in bold.
- pictureFrames
- freeParks
- sortFlapjacks
- spreadingNews
- ratRoute
Problem Set 8, due Tuesday, November 12
Complete at least 0 of the 4 problems below for base credit, additional ones for bonus credit. Required problems are in bold.
- textRoll
- onProbation
- isomorphicWords
- editThesaurus
Problem Set 7, due Monday, November 4
Complete at least 4 of the 6 problems below for base credit, additional ones for bonus credit. Required problems are in bold.
- mostAnagrams
- groceryBagger
- sortByFreqs
- twoFriends
- tournamentRanker
- internetSecurity
Problem Set 6, due Tuesday, October 29
Complete at least 5 of the 7 problems below for base credit, additional ones for bonus credit. Required problems are in bold.
- namesForYear (from class)
- contestRankings (from lab)
- biggestFan
- morseLikeCode
- contestWinner
- tournamentRanker
- twoFriends
Problem Set 5, due Monday, October 21
Complete at least 5 of the 8 problems below for base credit, additional ones for bonus credit. Required problems are in bold.
- sortedFreqs (from lab)
- uniqueZoo
- highCard
- memberCheck
- clientsList
- positiveID
- chocolateBar
- medalTable
Problem Set 4, due Monday, September 30
Complete at least 4 of the 7 problems below for base credit, additional ones for bonus credit. Required problems are in bold.
- uncommonCount (from class)
- speedDial (from class)
- aimToTen
- accessLevel
- alliteration
- txMsg
- minCostPalindrome
Problem Set 3, due Monday, September 23
Complete at least 5 of the 8 problems below for base credit, additional ones for bonus credit. Required problems are in bold.
- commonCount (from class)
- packingObjects
- bagelCount
- yahtzeeScore
- typingDistance
- runLengthEncode
- circlesCountry
- DNAgetTranslatableRegion (from lab, for assignment)
Problem Set 2, due Monday, September 16
Complete at least 5 of the 8 problems below for base credit, additional ones for bonus credit. Required problems are in bold.
- validatePassword (from class)
- DNAcgratio
- removeDupes (from Lab 3)
- rot13 (from Lab 3)
- cleanWord
- createAcronym
- DNAreverseComplement (for assignment)
- lawFirm (challenging)
Problem Set 1, due Monday, September 9
Complete at least 5 of the 8 problems below for base credit, additional ones for bonus credit. Required problems are in bold.
- laundryTime (from Lab 2)
- pancakes (from class)
- greyScale (from Lab 2)
- addTime
- ticketProfit
- gravity
- runningDistance
- slopeBetweenPoints
Submission
These problems will be assigned almost every week throughout the semester, with some problems marked as required and others as optional. Some will be started or finished during class or lab and others you will do completely on your own. Only problems turned in by the due date will be given credit for that week — no late APTs will be accepted. Any problems you do above the minimum required will help you towards earning an A in the course.
You will be given a description of a problem and asked to write code to solve it — testing the code online and when you are done with the code you must submit it from within Eclipse or on the web. Generally, you are not graded on the quality of source code, but based on how many of the test cases your solution solves correctly.