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: Friday 2:00pm-4:00pm via Zoom, Tuesday 1:30pm-3:00pm in person, or by appointment

Lectures

Lectures are 10:00 am - 10:50 am MWF in Centennial Engineering Center 1041

Labs and Section Leaders

Lab 001 (CRN 32289)

Lab 002 (CRN 32290)

Lab 003 (CRN 32291)

Lab 004 (CRN 32292)

Lab 005 (CRN 60023)

Lab 006 (CRN 36404)

Lab 007 (CRN 44039)

Lab 008 (CRN 60329)

Office hours for section leaders are linked from Canvas.

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.

Syllabus

UNM Canvas

Handy References and Links

CS 152 Code Standards

Java

Past exams


Lectures and Assignments

Week 1

Week 2

Week 3

Week 4

Week 5

Week 6

Week 7

Week 8

Spring Break

Week 9

Week 10

Week 11

Week 12

* Monday, April 08: Brooke is out of town, but section leaders will be at the lecture. * Tuesday, April 09: Brooke is still out, so her office hours are canceled * Wednesday, April 10: Rock paper scissors example * Friday, April 12: Go over quiz 8 * Towers of Hanoi

Week 13

Week 14

Week 15

Finals Week