SYLLABUS
CSci280 Object-Oriented Programming (Java)
(a programming-intensive and no-nonsense course)
School of Electrical Engineering and Computer Science, University of North Dakota
Fall 2021
Synchronous Class Delivery
The class lectures will be delivered synchronously via https://und.zoom.us/j/2489867333, and the Zoom video will be posted on the Blackboard afterwards.
Description
This course gives a study of the object-oriented programming, using the Java language.
It is a programming-intensive course and each student is required to design and implement several Java programming exercises on her/his own.
Topics include, but are not limited to:
- Object-oriented programming and concepts,
- Java fundamentals,
- Java basic syntax,
- Java classes and objects,
- Java inheritance and aggregation,
- Java abstraction and encapsulation,
- Java polymorphism, overloading, and overriding,
- JDBC (Java DataBase Connectivity), and
- Some other special topics.
Java Platform, Standard Edition (Java SE) —
Objectives
After taking this course, students are able to achieve the following goals, but not limited to:
- Knowledge of object-oriented programming principles,
- Knowledge of Java language principles and programming,
- Knowledge of class and object principles and programming,
- Knowledge of inheritance and aggregation principles and programming,
- Knowledge of abstraction and encapsulation principles and programming,
- Knowledge of polymorphism, overloading, and overriding principles and programming, and
- Proficiency in Java program design and development.
Lecture Notes
No textbook will be used.
Instead award-winning, interactive, informative, and practical
lecture notes (based on
GeeksforGeeks,
TutorialsPoint,
W3Schools,
JavaTPoint, and other online documents and user manuals) and detailed and precise class instructions will be provided.
Collectively, the lecture notes and instructions are more like a small book, which supplies much more information than regular notes do and makes the subject studies much easier.
Students will not have problem learning the subjects or taking the exams after studying them and doing programming exercises.
Evaluations
Four programming exercises (40% total):
1. Data input/output —— 06%
2. An itinerary —— 09%
3. The shortest itinerary —— 12%
4. JDBC —— 13%
Two exams —— 20% each
Final exam —— 20%
Tentative Schedule
Weeks 1 & 4 —— Introduction
Weeks 2 & 3 —— Programming Exercise I
Weeks 5 - 7 —— Java basic syntax
Weeks 8 & 9 —— Java classes and objects
Weeks 10 - 12 —— JDBC (Java DataBase Connectivity)
Weeks 13 - 15 —— Java object-oriented programming
Week 16 —— Some other special topics
Remark I
Definitions, terminologies, and theories will be discussed minimally in this course.
Instead practical works and programming knowledge will be emphasized and enforced.
Remark II
Online asynchronous is also provided for the distance students.
It is conducted fully through Internet instruction.
For details, check
UND Online & Distance Education or
DEDP (Distance Engineering Degree Program).
Besides,
https://und.zoom.us/j/2489867333 or
YuJa is used for hosting and sharing lecture videos, and
ProctorU may be used to monitor the exams.
Remark III
Java may be the most important language, and the only effective way to learn a programming language is practicing, instead of studying concepts or writing some testing programs.
No pain, no gain 😂
Remark IV
According to a study, students in computer-science courses learn much more by building large-scale exercises instead of many small-scale test programs, which give fragmented knowledge contrary to solid understanding of the system.
Remark V
Remote work is a trend for IT workers. This course also allows you to learn how to do it by using the VPN (virtual private networks) to connect to our Linux server undcemcs02.und.edu, and having the exercises set up at the server and be accessed from the clients.
Instructor’s Qualification
The instructor has more than five years’ experience in programming language research, design, and implementation.
He designed and implemented a LISP/PROLOG mixed language system for AI (artificial-intelligence) developers including YACC-like software, UNIX-like editor, LISP compiler, PROLOG compiler, heap storage management system, and POPLOG virtual machine for which both LISP and PROLOG compilers generate code by writing about 20,000 lines of C code.
Dishonesty
Under no circumstances will acts of academic dishonesty be tolerated.
Any suspected incidents of dishonesty will be promptly referred to the Assistant Dean of Students.
Refer to the Code of Student Life, Appendix B.2:
Academic Dishonesty.
Disability
Students who need special accommodations for learning or who have special needs are invited to share these concerns or requests with the instructor as soon as possible.
“Count your age by friends, not years. Count your life by smiles, not tears.”
― John Lennon
|