Difference between revisions of "CIS 3020 Part 1"
Jump to navigation
Jump to search
Line 59: | Line 59: | ||
Group/Ind Homework Assignments<br> | Group/Ind Homework Assignments<br> | ||
|} | |} | ||
+ | ====What to Expect==== | ||
+ | * Difficulty: This course has had a drop rate as high as 33% | ||
+ | * Effort Required: Expect to spend a minimum of 10 hours/week | ||
+ | * Intended for: Those needing a firm foundation in CS principles (majors) | ||
+ | * Education Value: Understanding the vocabulary of CS and concepts of OOP (Object-Oriented Programming) | ||
+ | ====Necessary Skills==== | ||
+ | * Helpful to know Java, but not a requirement | ||
+ | * Prior programming experience is helpful | ||
+ | * Willingness to work outside of class | ||
+ | * Willingness to work in groups | ||
+ | * Self discipline | ||
+ | * Ability to tolerate frustration | ||
+ | * Ability to switch between high and low level views | ||
+ | * Ability to think abstractly | ||
+ | * Ability to see what is actually there: | ||
+ | **<pre> | ||
+ | This is the | ||
+ | the answer | ||
+ | </pre> | ||
+ | ** The computer executes exactly what you give it | ||
+ | ** The ability to see the duplicate "the" can greatly help in debugging code |
Revision as of 15:54, 29 January 2007
Contents
Introduction to CIS
Introduction to:
- The art and science of programming
- The fundamentals of computer science
- The basic concepts of Object Orientation:
- Abstraction - representing the key features
- Polymorphism - "many forms"
- Inheritance - reuse of existing code from ancestors
- Encapsulation - containing and controlling access to
What this course entails
- This course is not a Java programming course
- "Introduction" does not mean "easy"
- Prior programming experience is strongly recommended
- in none, take CIS 3022/3023
- This course moves quickly, so attempt assignments early
- Don't get discouraged if you feel confused after one week of class. You hopefull will feel more comfortable by the 3rd week.
Philosophy
- Goal is to learn fundamental principles of programming and obtain an overview of the field of computer science.
- This goal is independant of any language
- Java is used to make these principles concrete but "learning Java" is not the primary goal of the course.
- We will not cover most or all of Java.
- We will teach the basics with emphasis on thinking and analysis.
Class Web Page
WebCT/Vista
Douglas Denkel's Homepage
- Announcements, homework assignments, etc. will be posted here.
- You are responsible to be aware of what information is there.
- Check it frequently -- no less than every other day!
Lecture Notes
- Copies of the lecture slides are available in the Lectures folder in WebCT/Vista
- These slides do NOT contain everything on my slides to encourage you to come to class.
- You are strongly encouraged to print a copy of these notes.
- Having a copy will make taking notes significantly easier!
Grading
Option 1 |
Option 2 |
|
What to Expect
- Difficulty: This course has had a drop rate as high as 33%
- Effort Required: Expect to spend a minimum of 10 hours/week
- Intended for: Those needing a firm foundation in CS principles (majors)
- Education Value: Understanding the vocabulary of CS and concepts of OOP (Object-Oriented Programming)
Necessary Skills
- Helpful to know Java, but not a requirement
- Prior programming experience is helpful
- Willingness to work outside of class
- Willingness to work in groups
- Self discipline
- Ability to tolerate frustration
- Ability to switch between high and low level views
- Ability to think abstractly
- Ability to see what is actually there:
This is the the answer
- The computer executes exactly what you give it
- The ability to see the duplicate "the" can greatly help in debugging code