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 in person, Friday 2pm-4pm via Zoom, or by appointment

Lectures

Lectures are 11:00 am - 11:50 am MWF in Northrop Hall (Earth&Plan Sci) 122

Labs and Section Leaders

Lab 001 (CRN 75341)

Lab 002 (CRN 48804)

Lab 003 (CRN 53879)

Lab 004 (CRN 49715)

Lab 005 (CRN 76781)

Lab 006 (CRN 75343)

Lab 007 (CRN 76939)

Lab 008 (CRN 76940)

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

Week 9

Week 10

Week 11

Week 12

Week 13

Week 14

Week 15

Week 16

Finals Week