CS103 Intro to Computer Programming

Course
74819
Section
F01
Credits
3 + 0
Prerequisites:
  • None
Instructor
Michael Moss
Phone
Office
Chapman 205
Email
mrmoss@alaska.edu
Office Hours
W
R
Meeting Time
Room
Chapman Room 104
Course Website
/courses/cs103/2017-fall/
Required Texts
See "Optional Text" below

Course Description

Programming for non-majors and for those computer science students without the background for CS F201. Concepts of object-oriented programming and algorithm design within the syntax of the JAVA programming language.

Tentative Schedule

    • Homework 00 Assigned
    • Lab 00 - HelloWorld
    • Lab 01 - Print Java in Java
    • Lab 02 - Celsius to Fahrenheit, Homework 00 Due, Homework 01 Assigned
    • Last day to withdraw with a full refund
    • Lab 03 - Die Roller
    • Lab 04 - Letter Grade Calculator, Homework 01 Due, Homework 02 Assigned
    • Lab 05 - Even Number Generator
    • Lab 06 - Simple Multiplication Calculator, Homework 02 Due, Homework 03 Assigned
    • Lab 07 - Collatz
    • Lab 08 - Box and Hollow Box Generators, Homework 03 Due, Homework 04 Assigned
    • Lab 09 - Array Testing
    • Class Canceled - Homework 05 Assigned
    • Homework 04 Due
    • Lab 10 - Array Sum
    • Homework 06 Assigned
    • Lab 11 - UAF Username Generator and Homework 05 Due
    • Lab 12 - Sentence Replace and Homework 06 Due, and Homework 07 Assigned
    • Midterm Study
    • Midterm
    • Lab 13 - Input Validation (Prevention and Handling)
    • Lab 14 - File Reading, Homework 07 Due, and Homework 08 Assigned
    • Last day to withdraw and get a W grade (no refund)
    • Lab 15 - Captain's Log
    • Lab 16 - Limit, Homework 08 Due, and Homework 09 Assigned
    • Lab 17 - String Reverse
    • Lab 18 - Recursive Factorial, Homework 09 Due, and Homework 10 Assigned
    • Lab 19 - Student Report
    • Thanksgiving holiday (no classes, most offices closed)
    • Lab 20 - Road Brawler and Homework 10 Due
    • Lab 21 - Road Brawler Alpha 2
    • Lab 22 - TBD, Take Home Final Assigned
    • No Class (Work on Take Home Final)
    • Take Home Final Due at 11:59 PM

Grading Policies

Weight Description
5% Attendance
15% Labs
20% Midterm
20% Final
40% Homeworks

Grades will be assigned based on the following percentage intervals:

A
[90%, 100%)

B
[80%, 90%)
C
[70%, 80%)
D
[60%, 70%)

F
[50%, 60%)

Optional Text

"Building Java Programs: A Back to Basics Approach" Edition: 3rd (ISBN: 9780133360905) --OR-- 4th (9780134322766)

Some​ people​ learn​ better​ from​ books.​ If​ you​ are​ like​ this,​ the​ book​ above​ will​ go in​ more​ or​ less​ the​ same​ order​ that​ this​ class​ will​ follow.

Late Work Policy

Work is due on its assigned due-date. Late work may be accepted if it is turned in before the assignment is graded. Grading may begin at any time after the due-date has elapsed. This could be 1 second after the due-date, a few days, a week, etc…

Attendance

Attendance and class participation will be graded at random intervals during the semester.

Labs

Half of the majority of classes will be dedicated to labs. Once reviewing new material, students will apply what they know in small exercises to reinforce new material. Labs will be due at the end of the class for that day. Each lab is designed to be finished in the time allotted.

Homeworks

Homeworks will be given out once per week (except on exam weeks). Homework will enforce what is learned in class by being a cumulative assignment, requiring students to demonstrate skills learned in previous lessons and integrating them with new material.

How To Succeed In This Course

This class will not only teach Java, but, more importantly, it will teach computational thinking. Computational thinking includes breaking down real-world problems such that computers can solve them. This class will require critical-thinking, logical-thinking, problem-solving, and learning a new language.

Learning a computer language is just like learning any other language. There will be some memorization required as well as learning the language's rules.

Computers are dumb. Computer programming languages are much smaller than other languages, mainly because they do not have a spoken component, but also because they are processed by computers, and are usually comprised of simple logic statements - think logically. Computers do EXACTLY what you tell them to do - nothing more, nothing less.

If you have a question, ask it. There is nothing in this class that is meant to trick you. If you don't understand something, please ask. If you are super antisocial (like the instructor), send an email. The instructor checks their email almost by the minute. You can send an email even during the labs and the instructor will more than likely respond.

Google is your friend. Programmers spend 50%+ of their time looking for solutions to problems online. If you ask the instructor of this class a question that they do not know, they are going to Google it.

Do your homework. Homework is worth the midterm+final. You will fail this class if you miss homeworks. Even if you aren't finished with them, TURN THEM IN.

Don't get frustrated. Instructors can usually take a 10 second look at your code and see exactly what is happening. The instructor of THIS class is not a sadist, they want you to learn and have fun.

Take breaks. If you don't want to ask for help, sometimes staring at a problem too long is the problem. Walk away, stop thinking about it, and come back to it later.

Have fun. Computers are here to make your life easier. If you are not having fun, talk to the instructor. The instructor spends their day programming in a room with no windows...why would they do this if it wasn't fun?

Policies

Students are expected to be at every class meeting on time, and are responsible for all class content, whether present or not. If absence from class is necessary, in-class work (other than quizzes) and homework may be made up only if the instructor is notified as soon as possible; in particular, absences due to scheduled events must be arranged ahead of time. Academic dishonesty will not be tolerated, and will be dealt with according to UAF procedures. Students in this class must pay the CS lab fee. Payment allows access to the Chapman 103 lab.

UAF academic policies http://www.uaf.edu/catalog/current/academics

CS Department policies http://www.cs.uaf.edu/departmental-policies/

Disabilities Services:

The UAF Office of Disability Services implements the Americans with Disabilities Act (ADA), and ensures that UAF students have equal access to the campus and course materials. I will work with the UAF Office of Disability Services (208 WHITAKER BLDG, 474-5655) to provide reasonable accommodation to students with disabilities.

Updated: