Introduction to Programming in Java (Accelerated)

About Myself

  • Cormac Flanagan

  • Professor in Computer Science & Engineering

  • Programming Languages and Security

  •  

Instructional Assistants

Course Website

What this course is

  • An introduction to programming using Java

  • An introduction to theoretical problems in computer science

What this course is not

  • We do not talk about (in any depth):

    • Applications of computing

    • Other programming languages (C, C++, Matlab, Python, etc.)

    • History of computing (well, not much)

    • How to use Microsoft office or create a web page(!)

Course Objectives

  • Understand fundamentals of programming.

  • Understand fundamentals of object-oriented programming.

  • Gain exposure to the important topics and principles of software development.

  • Have the ability to write computer programs to solve specified problems.

  • Use software development environment to create, debug, and run programs.

Honor Policy

  • The UCSC honor Policy is in effect in this class. As a student in the course you also agree to follow the following principles.

You are not allowed to describe problems on an exam or quiz to a student who has not taken it yet. You are not allowed to show exam papers to another student or view another student's exam papers while working on an exam.

No code or solutions are to be distributed to other students either electronically (i.e. e-mail) or on paper.  If you are looking at another student's code (even in the lab), you are in violation of this honor policy.

Honor Policy

  • The UCSC honor Policy is in effect in this class. As a student in the course you also agree to follow the following principles.

Unless otherwise specified, the only allowed collaboration for the assignments is the discussion of ideas; no collaboration is allowed on the exams and assignments.

Unless otherwise noted, exams and individual assignments are pledged: you promise that you have neither given nor received unauthorized help.

When there is doubt regarding the honorability of an action, you will ask before doing it.

Grading Policy

12A:

Programming assignments (40%)

Class participation (10%)

Midterm exam (15%)

Final exam (35%)

12L:

Lab assignments (80%)

Lab attendance (20%)

 

Assignments

  • 5 programming assignments due at 11:59 pm on Fridays every other week.

  • Submission is through Stepik. You need to sign in on Canvas and navigate to Stepik course through "Stepik submission" module.

  • Assignments will be marked out of 100 depending on the number of test cases you pass on Stepik.

  • Late policy:

    • 1 second late to 24 hours late: -25%

    • 24 hours and 1 second late: -100%

My Philosophy: Hard But Fair

  • Fairness is a challenge in a class of 200 students

  • If you feel something is not fair, you need to let me know. I will do my best to correct it

  • If you think that this course is too easy, let me know. I will do my best to correct it

Expectations

  • 12A+12L = 7 units

  • 3 hours/week/unit = 21 hours per week

  • You start with 3.25 hours in class.

  • Plan to spend at least 15 minutes on average for each section of the textbook assigned. This varies so if you have a light day consider reading ahead to even out the load. Plan 6-8 hours per week or 2-3 hours per lecture doing the reading and completing the challenge and participation activities due at noon on class days.

  • Plan to spend 4 hours on average each week working on the programming assignments due every two weeks.

  • Plan to spend 2 hours every week preparing for and completing the lab assignment.

  • Round out the 21 hours with optional textbook sections or reviewing difficult sections.

Who to contact?

  • I am not always the best person

    • I easily get flooded with emails, as I have hundreds of students (~500 this quarter)

    • The TAs can often answer a question just as easily as I can, and much quicker

  • Piazza!

    • If you feel like you do not want other students see your question, you can post it privately for instructors

Textbook

  • We will use an online interactive book (for both 12A and 12L)

  • Zybooks:

  1. Sign in or create an account at learn.zybooks.co

  2. Enter zyBook code: UCSCCMPS12ANorouziFall2018

  3. Subscribe: A subscription is $40 and will last until December 27, 2018. You will receive a $15 gift card if you complete a post class survey

 

5 minutes break!

Sample Code

A closer look

A closer look

A closer look

A closer look

A closer look

Questions?

CMPS 12A - Lecture 1

By Narges Norouzi

CMPS 12A - Lecture 1

  • 317