Cormac Flanagan
Professor in Computer Science & Engineering
Programming Languages and Security
An introduction to programming using Java
An introduction to theoretical problems in computer science
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(!)
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.
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.
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.
12A:
Programming assignments (40%)
Class participation (10%)
Midterm exam (15%)
Final exam (35%)
12L:
Lab assignments (80%)
Lab attendance (20%)
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%
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
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.
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
We will use an online interactive book (for both 12A and 12L)
Zybooks:
Sign in or create an account at learn.zybooks.co
Enter zyBook code: UCSCCMPS12ANorouziFall2018
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