LMU ☀️ CMSI 1010
COMPUTER PROGRAMMING LABORATORY
HOMEWORK #3 Due: 2025-10-24

Learning Objectives

With this assignment you will demonstrate:

You will demonstrate these objectives by building several classes (from scratch) and building a little poker game. (Don’t worry too much: you will be given the poker classification algorithm. Integrating it into a larger application is the effort you will be making.)

poker_player.jpg

Readings and Videos

This homework assignment covers the material learned in Labs 8–11. Please go through all of the referenced readings and videos that you will find in the Further Study sections.

Instructions

Work in teams of 1 to 2 students.

Create a folder in your cmsi1010 repo called pset03 (“Pset” is the college term for “Problem Set”, which is just a glorified term for “homework assignment”.) Into this folder, fetch the starter files classes_cardio.py, cards.py, cards_test.py, and poker_game.py. You can use curl to get them, via:

or you copy-paste them from your web browser into new files you create in VSCode. Either way is fine. No one will ever know how you did it.

Follow the instructions within the files to complete the classes, the missing portions of the cards module, and the poker game application.

Please note that these instructions are in the form of embedded comments which you are expected to remove before your final submission.

You will “submit” your solutions via BrightSpace but you won’t actually upload any code: all you will submit is the url of your GitHub repository, along with any other messages about the submission that I or the grading assistants need to know.

If you worked with a partner, you must include with your submission an affidavit stating that you each worked on the entire assignment, did not partition the work, and are both aware of and responsible for the final submission. Take the opportunity to be patient peer teachers, diligent learners from each other, and enjoy your collaboration.

Grading

The classes_cardio.py portion of the assignment will be worth 40 points. This file comes with test cases that will be used to check your files for correctness. The new deal and poker_classification functions you are to write in cards.py will be worth 30 points, and will be tested against the tests in cards_test.py. The Poker application (poker_game.py) will be worth 30 points. It will be tested manually.

This is the first homework assignment in which tests are managed with pytest, so as you develop and test your solutions, make sure you are in your virtual environment with pytest installed. We went over how this was done in The Real Deal lab.

In addition to checking the correctness of the code, we’ll be assessing and scoring your work on:

Complete details for how the pros format their code is found in the PEP 8 Style Guide.