CPIT-305 Advanced Programming
Credits: 3 credit hours Prerequisite: CPIT-250
Description
The objective of this course is to study advanced techniques in Java programming. Topics include how to build applications for different purposes, methods for Java programs to interact with other existing technologies, exception and error handling, streams and files operations, concurrent programming, network and socket programming, and Java Database Connectivity (JDBC).
Course Learning Outcomes (CLOs)
By completion of the course the students should be able to:
- Define Exception types and handling.
- Apply the exception handling techniques to immune the application against user error.
- Identify different streams and identify the concept of each one.
- Practice use of stream to perform different operations on different data.
- Apply file methods to access and modify file system on the computer.
- Define multithreding with different properties and how monitor and control the different threads of operations.
- Apply the critical section in multithreding applications and integrate them with a solution.
- Describe major client/server protocols used in network communications.
- Create network client/server applications using different techniques.
- Define the steps to connect with database server.
- Apply the Structured Query Language (SQL) using different type of statements.
- Analyze real problems and evaluate feasible solutions and communicate effectively within teamwork.
Textbook/References
- Cay S. Horstmann, , “Core Java Volume I–Fundamentals”, Prentice Hall; 11 edition (2018-05-28), ISBN-10: 0135166306, ISBN-13: 9780135166307
Topics Coverage & Durations
Topics | Weeks |
---|---|
Exception and Error Handling I | 1 |
Streams & Files I | 1 |
Streams & Files II | 2 |
Threads I | 1 |
Threads II | 1 |
Thread III | 1 |
Network | 1 |
DataBase I | 1 |
Grading
- Labs: 25%
- Quizzes: 5%
- Group Project: 15%
- Midterm exam: 25%
- Final exam: 30%
Attendance policy
Students are expected to attend all regularly scheduled class meetings and adhere to KAU’s attendance policy, the undergraduate study and examination bylaw (article 9) PDF ↗ 📁. This policy prohibits students from having more than 25% of absences without a reasonable excuse. Any student who exceeds this limit will receive a “Denied” grade (DN) and will be disqualified from taking the final exam. This means for a 15-week semester:
- Classes held twice a week (MW), you are not allowed to miss more than 8 classes.
- Classes held three times a week (STU), you are not allowed to miss more than 12 classes.
Late Submission Policy
Assignments submitted late will incur a 25% penalty. You may submit an assignment or a lab activity up to one week late. After that the submission will not be graded and you’ll receive 0 points for it. However, every student gets three free late passes, allowing you to submit a maximum of 3 assignments up to 1 week past the due date without penalty.
Missed Exam Policy
If you find out that you are unable to attend the midterm or final exam, you will need to get in touch with me as soon as possible and provide necessary documentation, so we can make other arrangements with the approval of the department.
Academic Integrity
As a student, you are expected to submit your own original work. You may not submit work written by others (human, tools, or generative AI) and claim it to be yours, or use “recycle” work prepared for previous courses without obtaining written permission from your instructor. Violations of academic integrity include, but are not limited to, cheating, plagiarism, falsifying data, knowingly assisting others in acts of academic dishonesty. Students who commit offenses of academic integrity will be reported to the deanship of academic affairs and will face disciplinary actions as per article 4 of KAU’s Students’ Behavior Control Regulations (code of conduct). These actions could result in outcomes such as failure on the assignment or exam, failure in the course, suspension for one semester, or even expulsion from the university. KAU’s code of conduct can be downloaded using this link.
Policy on the use of generative AI tools
This policy pertains to the use of generative Artificial Intelligence (AI) tools that are also called Large Language Models (LLMs) such as ChatGPT, Gemini, CoPilot, Claude and many others. It’s important to note that this course emphasizes the acquisition of essential knowledge and the development of technical skills. Thus, it’s expected that all coursework and assessments should be prepared by the student working individually or in groups as specified. Students may not have another person or AI tools complete any substantive portion of the coursework or assessment. Academic integrity is a core principle in academia and you’re expected to uphold this principle. This applies to all work, regardless of whether or not you have used generative AI tools. However, you’re allowed to experiment with these tools as long as they support your own learning, and they don’t become shortcuts to dishonest work. A responsible use of generative AI tools in assigned course work or assessment must be approached ethically and in accordance with the following:
Unacceptable uses of generative AI tools
- Do not feed direct assignment/coursework questions into these tools and obtain the answers.
- Do not use these tools to generate content or solutions (words or source code) to direct questions in an assignment or any other coursework submission. This includes copying and pasting, or paraphrasing the answers produced by these tools.
- You also should not use these tools to generate summaries and rely upon them as a substitute for the original course materials.
Acceptable uses of generative AI tools
You may use AI tools to:
- Explore a topic, find examples, definitions, limitations, etc.
- Brainstorm project/presentations ideas
- Create individual study guides
- Fix your grammar and style
- Proofread, paraphrase, or refine your original writing
- Code refactoring: refactor your original code.
- Debug and fix a bug introduced in your code
Unless granted a permission by the course instructor, any use of generative AI tools outside of acceptable uses in this course is considered a violation of academic integrity and will be subject to KAU’s disciplinary actions.
Cite your use of generative AI tools
The acceptable use of generative AI tools must be cited properly just as in any other source. You’re required to acknowledge your use of generative AI tools. For example, if you use ChatGPT-3, you must cite at the end of your work: ChatGPT-3, DD/MM/YYYY of the prompt*, “Full text of your prompt”. Please keep the following in mind when using generative AI tools:
- If you copy verbatim from a generative AI tool, you must cite it with double quotation marks, indicating that the words used were not your own. Otherwise, you’re considered cheating.
- If you paraphrase the output of a generative AI tool, you must cite it but not necessarily with double quotation marks, indicating that the idea, approach, format presented were not originally your own. Changing only a few words without citation is always considered plagiarism because the original ideas or data were presented without proper acknowledgment.
Check for correctness and accuracy
Generative AI tools are trained on imperfect data and are known for generating biased or factually incorrect output. You must not trust anything that these tools generate. If you have used them to explore a topic, and they returned a fact, date, or a number, assume it is wrong unless you either know the answer or can verify it with another source.
AI Detection
You must be transparent in how you used generative AI tools. If your work is suspected of not being original work, your course instructor may ask you to demonstrate your own understanding. This includes requiring you to do an oral presentation and asking you questions to demonstrate your authorship. Your course instructor may also use AI-detection tools provided by the university (e.g., Turnitin) that will generate an AI creation probability score, and if your work is flagged at a rate higher than 20% and you failed to demonstrate your authorship, then it’s considered a violation of academic integrity and you will be subject to KAU’s disciplinary actions.
Students and Disability Accommodations
KAU welcomes students with disabilities into all of the University’s educational programs. If you are a student with special needs, your course instructor will work with the Special Needs Center Services at KAU’s Deanship of Students’ Affairs to provide you with reasonable and appropriate accommodations. This should be communicated as early in the semester as possible as the process of providing you with accommodations require administrative work.