CS 152: Computer Programming Fundamentals
Instructor:
Brooke Chenoweth
Department of Computer Science
Email: bchenoweth@cs.unm.edu (Include course number in a meaningful subject line, please)
Office: FEC 2060
Office Hours:
Monday 2pm-4pm via Zoom,
Thursday 1:30pm-3:30pm in person,
or by appointment
Lectures
Lectures are 10:00 am - 10:50 am MWF Centennial Engineering Center 1041
Labs and Section Leaders
Lab 001
- Time: 2:00 pm - 2:50 pm Wednesday
- Location: Centennial Engineering Center 1032
- Section Leader: Logan Nunno
Lab 002
- Time: 3:00 pm - 3:50 pm Wednesday
- Location: Centennial Engineering Center 1032
- Section Leader: Julia Marsh
Lab 003
- Time: 2:00 pm - 2:50 pm Tuesday
- Location: Woodward Lecture Hall 147
- Section Leader: Ethan Begay
Lab 004
- Time: 2:00 pm - 2:50 pm Monday
- Location: Centennial Engineering Center 1032
- Section Leader: Quinn Sena
Lab 005
Time: 2:00 pm - 2:50 pm Thursday
Location: Mechanical Engineering 210
- Section Leader: Noah Litz
Lab 006
- Time: 9:30 am - 10:20 am Tuesday
- Location: Centennial Engineering Center 1030
- Section Leader: Youssef Amin
Lab 007
- Time: 9:00 am - 9:50 am Friday
- Location: Centennial Engineering Center 1030
- Section Leader: Molly Palko
Lab 008
Time: 2:00 pm - 2:50 pm Friday
Location: Centennial Engineering Center 1030
- Section Leader: Finn Ellis
Feel free to go to any of the section leaders for help.
You aren't limited to the assistant for your own section.
Course Description
CS-152 is an introduction to the art of computing. This course has
several goals. Students who successfully complete the course should
have a firm grasp on creating small programs in Java, should be able
to solve problems with code, should have a more full idea of what
Computer Science as a field is, and most importantly not be afraid to
dive into code!
The primary emphasis of this course is to develop fluency in working
with conditional control flow, looping structures, and procedural
programming techniques. The secondary emphasis is to apply those
skills in solving computational problems.
CS-152 is a project based course: students spend many hours writing
programs that have a wide range of applications. In past semesters
these have included business applications, multimedia manipulations,
video games, simulations of complex systems, and scientific models.
CS-152 is currently taught using the Java programming language.
While Java is an Object Oriented Programming (OOP) language and while
students in CS-152 will certainly be working with Objects, CS-152 is
not a course on OOP. Experienced Java programmers with solid skills in
control flow, procedural programming and computational problem solving
should skip CS-152 and take CS-251 (Intermediate Programming). CS-251
is also currently taught in Java and its primary emphasis is on
understanding, developing and applying OOP skills.
- Updated 2025-08-22 with my office hours
Handy References and Links
CS 152 Code Standards
Java
- Software
- Download IntelliJ IDEA
- The free Community version will suffice for this course. Scroll down to find the correct link!
- You can get the Ultimate version for free if you register with an edu email address, but you don't need the extra features in this course.
- Download the JDK from Oracle
- You can download and install the a version of the JDK directly from within IntelliJ, but often you'll want/need to manually install a version from elsewhere.
- Reference Material
- Learn more online
Past exams
Lectures and Assignments
Week 1
- Monday, August 18: Welcome and Intro
- Wednesday, August 20: Variables and Types
- Friday, August 22: Continue variables and types
- In lab this week: meet your section leader and labmates.
- Make sure you have installed the JDK and IntelliJ on whichever computer you will be using for this course. (Some students use personal laptops, some carry their working files on a thumb drive, some keep everything in the cloud and download onto whichever lab machine they are using. Whatever you choose, make sure the configuration will work for you now.)
- Test your setup by compiling and running a Hello World program
- If you have any technical difficulties, please contact one of us for help so we can get you set up before you get working on the first programming assignment.
- Project 1: ASCII Art
- Due Friday, August 29
- This assignment is to make sure you aren't having trouble installing and setting up your tools. It shouldn't be much more complicated than the hello world example from my slides. Please don't overthink it.
- You may want to use an online ASCII text generator rather than creating the ASCII art completely from scratch.
- Submit to Canvas before the deadline.
There is a small survey you'll need to complete before you can turn in your code.
Week 2
Week 3
- Monday, September 1: No class, Labor Day Holiday
- Wednesday, September 3: Go over quiz 2
- Friday, September 5: Describe project 3
- Project 3: Drawing with Points
Week 4
- Monday, September 8: Switch statement
- Wednesday, September 10
- Friday, September 12: Go over quiz 3
Week 5
- Monday, September 15
- Wednesday, September 17
- Friday, September 19
Week 6
- Monday, September 22
- Wednesday, September 24
- Friday, September 26
Week 7
- Monday, September 29
- Wednesday, October 1
- Friday, October 3
Week 8
- Monday, October 6: Review for midterm
- Wednesday, October 8: Midterm exam
- You may bring with you a single sheet of 8.5" x 11" paper. You may write on both sides. You may type it on a computer.
- The test is closed book, closed laptop, closed friends. You can only use the single sheet of paper and whatever is in your brains. You may also bring a calculator to perform basic arithmetic.
- Friday, October 10: No class, Fall Break
Week 9
- Monday, October 13
- Wednesday, October 15
- Friday, October 17
Week 10
- Monday, October 20
- Wednesday, October 22
- Friday, October 24
Week 11
- Monday, October 27
- Wednesday, October 29
- Friday, October 31
Week 12
- Monday, November 3
- Wednesday, November 5
- Friday, November 7
Week 13
- Monday, November 10
- Wednesday, November 12
- Friday, November 14
Week 14
- Monday, November 17
- Wednesday, November 19
- Friday, November 21
Week 15
- Monday, November 24
- Wednesday, November 26
- Friday, November 28: No class, Thanksgiving Break
Week 16
- Monday, December 1
- Wednesday, December 3: Review for final
- Friday, December 5: Final exam (during regular lecture time/location)
- You may bring with you a single sheet of 8.5" x 11" paper. You may write on both sides. You may type it on a computer.
- The test is closed book, closed laptop, closed friends. You can only use the single sheet of paper and whatever is in your brains. You may also bring a calculator to perform basic arithmetic.
Finals Week
- You took your final last week, so go deal with your other classes now.
- It's finals week, so I won't be having my usual office hours, but will be checking my email and Canvas messages.