Introduction to Programming 2

Slides:



Advertisements
Similar presentations
COMP 321 Week 1. Application Server Programming Introduction to server-based programming using an object-oriented approach You will learn and reflect.
Advertisements

CS2110: Software Development Methods
COMS S1007 Object-Oriented Programming and Design in Java July 8, 2008.
Intro to CIT 594
Intro to CIT 594
CMSC 132: Object-Oriented Programming II
CMSC 132: Object-Oriented Programming II Nelson Padua-Perez William Pugh Department of Computer Science University of Maryland, College Park.
EnPh 131 Lec B04 Introduction Course syllabus Course components ….
Sadegh Aliakbary Sharif University of Technology Fall 2011.
Intro to CIT 594
COMP 151: Computer Programming II Spring Course Topics Review of Java and basics of software engineering (3 classes. Chapters 1 and 2) Recursion.
Object Oriented Programming CEN 221. Course Description Classes, objects, inheritance, polymorphism, graphical user interfaces, event handling, exception.
CSC207 Software Design Summer 2011 Lecturer: Hesam C. Esfahani
Welcome to CS 3331, Advanced Object-Oriented Programming Fall 2009 Dept. of Computer Science University of Texas at El Paso.
COMP 111 Programming Languages 1 First Day. Course COMP111 Dr. Abdul-Hameed Assawadi Office: Room AS15 – No. 2 Tel: Ext. ??
CSE 501N Fall ‘09 00: Introduction 27 August 2009 Nick Leidenfrost.
COMP Introduction to Programming Yi Hong May 13, 2015.
Lecture 1 Page 1 CS 111 Summer 2015 Introduction CS 111 Operating System Principles.
EECE 310 Software Engineering Lecture 0: Course Orientation.
Object Oriented Programming (OOP) Design Lecture 1 : Course Overview Bong-Soo Sohn Assistant Professor School of Computer Science and Engineering Chung-Ang.
Welcome to CS 3331, Advanced Object-Oriented Programming Fall 2015 Dept. of Computer Science University of Texas at El Paso.
Object Oriented Programming (OOP) Design Lecture 1 : Course Overview Bong-Soo Sohn Associate Professor School of Computer Science and Engineering Chung-Ang.
An analysis of exam results in the Object-Oriented Programming course at „Politehnica” University of Timisoara Ioan Jurca.
Sadegh Aliakbary Sharif University of Technology Fall 2012.
ICS 102 Computer Programming University of Hail College of Computer Science & Engineering Computer Science and Software Engineering Department.
Software Specification and Design Sirisin Kongsilp & James Brucker.
Course Overview & Topics CSc 335: Object-Oriented Programming and Design © Rick Mercer 1.
Catie Welsh January 10, 2011 MWF 1-1:50 pm Sitterson 014.
CSCI 51 Introduction to Computer Science Dr. Joshua Stough January 20, 2009.
Advanced Database Course (ESED5204) Eng. Hanan Alyazji University of Palestine Software Engineering Department.
1-1 C Sc 335 Course Overview Object-Oriented Programming and Design Rick Mercer.
Object Oriented Programming (OOP) Design Lecture 1 : Course Overview Bong-Soo Sohn Associate Professor School of Computer Science and Engineering Chung-Ang.
Object Oriented Programming (OOP) Design Lecture 1 : Course Overview Bong-Soo Sohn Assistant Professor School of Computer Science and Engineering Chung-Ang.
AN INTRODUCTION TO JAVA LANGUAGE CT Credit Hours : (3 Lecture, 2 Lab)
CS-112 Object Oriented Concepts Course Syllabus. Outline  Instructor and Prerequisites  What this course is  Learning outcomes  Degree program outcomes.
CIS 280 Object-Oriented Programming Professor Zavodnik.
Boris Milašinović Faculty of Electrical Engineering and Computing University of Zagreb, Croatia 15th Workshop on "Software Engineering Education and Reverse.
Standards Based Grading. How is it different? Traditional Grade for each assignment Grade may accidentally be focused more on one concept than another,
Winter 2016CMPE212 - Prof. McLeod1 CMPE212 Object Oriented Programming for Engineers Course Web Site: Lecture.
Computer Science I ISMAIL ABUMUHFOUZ | CS 180. CS 180 Description BRIEF SUMMARY: This course covers a study of the algorithmic approach and the object.
CS140 – Computer Programming 1 Course Overview First Semester – Fall /1438 – 2016/2017 CS140 - Computer Programming 11.
Introduction to PAD2 Dr. Mark C. Lewis
Introduction to CSCI 1311 Dr. Mark C. Lewis
Object Oriented Programming (OOP) Design Lecture 1 : Course Overview
CSC207 Fall 2016.
CSc 020: Programming Concepts and Methodology II
PROGRAMMING PARADIGMS
CMPE419 Mobile Application Development
Object Oriented Programming (OOP) Design Lecture 1 : Course Overview
Princess Nora University Faculty of Computer & Information Systems
Winter 2018 CMPE212 11/11/2018 CMPE212 – Section 001
MathXL® Student Overview QRB/501
EECE 310 Software Engineering
Standards Based Grading
Systems Programming Intro
Intro to CIT 594
Computer Programming 1 introduction to JAVA Lecture 1 Instructor: Ruba A. Salamah Islamic University of Gaza.
Accelerated Introduction to Computer Science
MyMathLab® Student Overview QRB/501
CSS-304: Computer Systems Interface
An Introduction to Java Language
An Introduction to Java Language
CMPE212 Welcome! Object Oriented Programming for Engineers
EEC-492/693/793 iPhone Application Development
Intro to CIT 594
MyStatLab Student Overview QNT/561
References: Eddie Burris, Rick Mercer
Princess Nora University Faculty of Computer & Information Systems
CS102 Algorithms & Programming II
Computer Engineering Department Islamic University of Gaza
Presentation transcript:

Introduction to Programming 2 Object-Oriented Programming & Modeling with lab at Kasetsart University by James Brucker

Why study object-oriented programming? O-O is the dominant programming paradigm You will need it in your internship. Many interns say they used OOP knowledge a lot. Employers require good O-O background. Many other courses build on what you learn in OOP. Without Java, O-O, and modeling skills, you will struggle for the next 3 years.

3 Courses in 1! Java Object Design Modeling with UML

these 3 are related to each other... 3 Areas We Will Study these 3 are related to each other... Java Object Orientation Modeling How to use Java API Graphical Programs Collections Interfaces & Lambdas Generics Java 8 features Frameworks ...and more! Encapsulation, polymorphism, & inheritance -- how to use them. OO approach to design OO Principles Design Patterns Abstraction Modularity Modeling with UML Modeling of real- world situations using objects

BONUS topics How to test programs using JUnit Software development Best Practices: design before coding unit testing iterative development Some real frameworks for creating apps

General Goals Gain understanding and practical skill in... O-O paradigm Java programming skill good software design concepts common Design Patterns (a few) Unified Modeling Language (UML) to express design how to use frameworks

Approach Labs to learn and practice concepts. Java programming Design using UML O-O principles Programming style and testing Programming assignments for deeper learning Homework to learn things on your own Quiz to measure your understanding

Evaluation One grade for both lecture and lab work. Your grade is based on: Midterm and Final written exams Programming exams ("lab exam") Programming assignments Class participation Quiz scores Laboratory work and participation At least 50% on both written exam and lab exams to pass.

Approximate Grading Scale A 85% and above B 75% - 85% C 65% - 75% D 55% - 65% F less than 55% overall or written exam average < 50% or lab exam average < 50% To pass you must average >= 50% on written exams and lab exams. Why? You must know concepts and how to use them.

Real Meaning of Grade A demonstrates mastery of the material and excellent ability to apply it to new problems B very good understanding and ability to apply C satisfactory D incomplete understanding and/or unsatisfactory ability to apply course material F unacceptably poor understanding or ability to apply

OOP is NOT a Democracy (sorry) No copying Do assigned reading & work Write good quality code Use the coding standard Install required software on your machine No food in lab (drinks OK) Participate in class

Copying Copy anything => Fail (F). Including Homework. No second chance.

Required Software (on your machine) Java SDK version 8. Java API docs: install locally and bookmark in your browser. Don't rely on Internet! IDE your choice: Eclipse, Netbeans, IntelliJ, BlueJ Git client IDEs have built-in git tool, but you should also have the command line "git". Recommended: Java tutorial from Oracle.

Do Assigned Work 1. Some reading every week. Approx. 30-60 pages. 2. Programming assignment every 2 weeks. Longer than lab exercises. Learn a lot from PA, and big impact on your grade. 3. Homework, sometime submitted sometimes not.

Write Good Quality Code 1. Write meaningful Javadoc comments. 2. Code should be easy to read. 3. Use the class coding standard. It is based on industry standards for Java, derived from Oracle's Java standard. No Javadoc == No Credit

Use the Java Coding Standard Always. See handout. Handout also in docs folder. Exercise in class

Drinks are OK, but please clean up. Lab Please do not bring food into lab. Drinks are OK, but please clean up.

Class Homepage and Repository Schedule and Info https://skeoop.github.io/ Weekly materials including labs and homework https://github.org/skeoop/oop/src or, check them out using Git. Please you: cmd> git clone --depth 1 repo_url to avoid copying lots of old commits (waste of space).

e-Textbook [BIGJ] Horstmann, Big Java. 5E. Recommended: [JTUT] Oracle, Java Tutorial.

Excellence, therefore, is a habit. Why Put in Effort? We are what we do. Excellence, therefore, is a habit. -- Aristotle Push yourself in every course ... prepare for your career develop a habit of excellence in everything get "A" (maybe) enjoy your time at KU more

I hear and I forget, I see and I remember, I do and I understand. Why Practice? I hear and I forget, I see and I remember, I do and I understand. -- Confucious