Programming in different paradigms with emphasis on object oriented programming, network programming, and event driven programming. Other major topics include concurrency, survey of programming languages, functional programming, exception handling, debugging skills, and good programming practices.
Course learning outcomesThe students should be able to program in a variety of languages representative of different paradigms, e.g., object-oriented, functional, client-server, etc. The students should have a better understanding of how programming languages differ and how they are similar.
The following weightings will be used to determine points in this class:
Final grades will be determined by the percentage of points earned within the following intervals:
3 exams are planned. Each will carry equal weight. Students should plan to spend an average of 8-12 hours per week on assignments, depending mostly on programming proficiency. Assigned work may not be evenly distributed throughout the semester, so students should plan accordingly. Students are expected to learn the skills they demonstrate in the programming assignments, as opposed to performing them only once. To enforce this, points awarded for the completion of an assignment will be considered tentative until the student demonstrates proficiency with corresponding skills on subsequent exams. When students demonstrates a lack of proficiency at a particular skill on any exam, the instructor will retroactively reduce the scores of programming assignments that require the skill.
Late and incomplete work:
Most assignments require implementing certain functionality in code. Achieving partial functionality does not entitle one to partial credit. If your code does not work as expected, you will be asked to fix it. No assignment will be accepted until it correctly implements the assigned functionality. You may resubmit as many times as you like. Per university policy, no work will be accepted after the last day of class, even if it is submitted before the final exam. Late work will be penalized by an absolute 3% for each day late (including holidays, weekends, etc.) up to a maximum late penalty of 40% per assignment. A project is considered one day late if it is submitted as little as one second after the deadline (or as much as 23.99 hours after the deadline).
Every semester, someone experiences some sort of hardware failure. Students can adapt by working in the programming laboratories. They can prepare by making backup copies of their work on a thumb drive or Internet drive. They can also ask me to send to them copies of their previous submissions. So, hardware failures do not generally justify much leniency. You have been warned.
As a core part of its mission, the University of Arkansas provides students with the opportunity to further their educational goals through programs of study and research in an environment that promotes freedom of inquiry and academic responsibility. Accomplishing this mission is only possible when intellectual honesty and individual integrity prevail. Each University of Arkansas student is required to be familiar with and abide by the University's `Academic Integrity Policy' at honesty.uark.edu. Students with questions about how these policies apply to a particular course or assignment should immediately contact their instructor.
I do not determine the penalties for any incidence of cheating. I submit evidence to honesty.uark.edu then follow whatever sanctions they instruct me to impose. Code and other project you submit will be archived and analyzed to detect plagiarism. All assignment submissions are expected to be unique implementations made entirely by individual students. Large blocks of identical code in regions you were expected to implement yourself, (or code that differs only in variable names and whitespace, for example), is evidence of cheating. Turning in code that you do not understand indicates that cheating has occurred. Every semester I adjust my assignments. Turning in implementations that include superfluous solutions to requirements from previous semesters is evidence of cheating.
Some additional examples to clarify what is and is not cheating in this class. Note that this list is not complete:
ADA Statement:If any member of the class has a documented disability and needs special accommodations, the instructor will work with the student to provide reasonable accommodation to ensure the student a fair opportunity to perform in this class. Please advise the instructor of the disability and the desired accommodations within the first week of the semester.
Attendance and Participation:
If the university is officially closed, class will not be held. When the university is open, you are expected to make a reasonable effort to attend class, but not if you do not feel that you can get to campus safely. Assignment due dates will be postponed in case of inclement weather.
Many types of emergencies can occur on campus; instructions for specific emergencies such as severe weather, active shooter, or fire can be found at emergency.uark.edu.