COSC-4301 Modern Programming
Fred Kumi
Credit Spring 2022
Section(s)
COSC-4301-001 (42218)
LEC DIL ONL DIL
LAB DIL ONL DIL
COURSE DESCRIPTION
In this course, we will study modern software engineering practices through the context of real-world problems.
- Credit Hours: 3
- Classroom Contact Hours per week: 2 hours 40 minutes
- Laboratory Contact Hours per week: 50 minutes
- Pre-requisite: Students should have been accepted in the Bachelor of Applied Science in Software in Software Development (BAS).
- COSC 3301 - Programming Languages.
- Strong prior experience with Object-Oriented programming languages such as Java or C++, preferably Java.
Course Requirements
INSTRUCTIONAL METHODOLOGY:
This course is competency-based, and it is offered online. The student will need to demonstrate proficiency in five competencies, which are listed in the Course Objectives/Learning Outcome section.
The student will be required to do assigned readings from the textbook as well as scheduled individual programming and homework assignments to reinforce the material covered. Scheduled tests will be used to assess the progress of the student toward achievement of the course objectives. The COSC/CIT open labs will be available for students during the semester.
TECHNOLOGY SUPPORT SERVICES
In response to COVID-19, Austin Community College now provides free, secure drive-up Wi-Fi to students and employees in the parking lots of all campus locations. Wi-Fi can be accessed seven days a week, 7 am to 11 pm. Additional details are available at: https://www.austincc.edu/coronavirus/drive-up-wifi
GRADING SYSTEM
Grade Policy: Grade will be assigned based both on concepts and practical application. exams, homeworks, and programming assignments will be a part of the grade.
Examinations: Two major exams (Midterm and Final) will be given during the semester. All exams are open book and should be taken at home or at ACC before or on the due date. Exam links will be removed from Blackboard at 11:59pm Central Time on the due date so it is not possible to take an exam after the due date.
There are NO makeups or extra credit assignments given in this course. If a student misses an exam, the student will receive a grade of zero (0).
Grading Criteria: Each student’s grade for this course consists of the following four parts:
Semester Exams (2 @ 25% each) 50%
Projects .. .. .. 25%
Quizzes .. .. .. 20%
Capstone Project .. .. 5%
Total .. .. .. 100%
An overall grade will be assigned on the following grading scale:
A - 90% to 100%
B - 80% to 89%
C - 70% to 79%
D - 60% to 69%
F - Below 60%
Posting of Assignment Grades: Assignments (e.g. programs) are typically graded within one week after the assignment due date. Grades are recorded in Blackboard and may be accessed via the “My Grades” link.
Readings
Required Textbook:
Engineering Software Products: An Introduction to Modern Software Engineering, Sommerville, 2020, Pearson, ISBN-13: 9780135210642
Optional Textbook:
Software Engineering, 10th Edition, Sommerville, 2016, Pearson, ISBN-13: 9780133943030
Software:
Java Version 8 or higher and
- Eclipse IDE or
- IntelliJ IDEA (Jet Brains) Note: ACC students get one year free renewable license from Jet Brains.
Student Learning Outcomes/Learning Objectives
COURSE OBJECTIVES / LEARNING OUTCOMES:
The general goal of this course is to help you learn the skills and practices to build modern software products and services. This includes gaining an in-depth understanding of
- Software Products
- Agile Software Engineering
- Software and Microservices Architecture
- Software As A Service, RESTful Services, and Cloud-based Software
- Security and Privacy in Software Engineering
- Reliable Programming
- Quality Assurance in Software Engineering
- DevOps and Code Management
SCANS COMPETENCIES:
SCANS (Secretary’s Commission on Achieving Necessary Skills):
Refer to http://www.austincc.edu/cit/courses/scans.pdf for a complete definition and explanation of SCANS. The following list summarizes the SCANS competencies addressed in this particular course:
|
RESOURCES 1.1 Manages Time |
INTERPERSONAL |
INFORMATION 3.1 Acquires and Evaluates Information 3.2 Organizes and Maintains Information 3.3 Uses Computers to Process Information
|
SYSTEMS 4.1 Understands Systems 4.2 Monitors and Corrects Performance 4.3 Improves and Designs Systems |
|
TECHNOLOGY 5.1 Selects Technology 5.2 Applies Technology to Task 5.3 Maintains and Troubleshoots Technology |
BASIC SKILLS 6.1 Reading 6.2 Writing 6.3 Arithmetic 6.4 Mathematics 6.5 Listening |
THINKING SKILLS 7.1 Creative Thinking 7.2 Decision Making 7.3 Problem Solving 7.4 Mental Visualization 7.5 Knowing How to Learn 7.6 Reasoning |
PERSONAL SKILLS 8.1 Responsibility 8.2 Self-Esteem 8.3 Sociability 8.4 Self-Management 8.5 Integrity/Honesty |
Course Policies
Attendance/Class Participation: Regular and timely class participation in discussions and laboratory attendance is expected of all students. If attendance or compliance with other course policies is unsatisfactory, the instructor may withdraw students from the class.
In the event the college or campus closes due to unforeseen circumstances (for example, severe weather or other emergency), the student is responsible for communicating with their professor during the closure and completing any assignment or other activities designated by their professor as a result of class sessions being missed.
If the student misses a class or is tardy, it is the student's responsibility to get assignments and missed material. Absence is no excuse for late assignments, including when deadlines have been changed.
Students who do not come to class and do not contact the instructor during the first week of class will be classified as "Never Attended" and will be ineligible for financial aid and automatically withdrawn from the course.
Course Schedule: Please note that schedule changes may occur during the semester. Any changes will be reflected in the schedule in Blackboard and will be accompanied by an email to all students.
Programming assignments: Programming assignments must be the product of the student's independent effort. Each programming assignment must be submitted on Blackboard on before the due date and time indicated on Blackboard and also in the programming assignment schedule. Programming assignments can be turned in up to two weeks after the due date with a late penalty of 25% per week. Scheduling of computer time outside of regular lab time is the student’s responsibility.
Homework assignments: All homework assignments must be submitted on Blackboard on or before the due date and time indicated on Blackboard and also in the homework schedule.
Guidelines for Programming Assignments:
- Begin each programming assignment with an initial comment block that includes the following: your name, instructor’s name, assignment number, assignment due date, course and section number, and name of Java file. See the Coding Rules document for details.
- You will be graded on BOTH program accuracy and program style.
- Programming assignments must meet requirements, exactly as specified, and pass testing to receive full credit.
- All programming assignments must be submitted to Blackboard to receive credit. No programming assignment will be accepted via e-mail.
- Programming assignment links are automatically/programmatically removed from Blackboard at 11:59pm Central Time two weeks after the due date. Therefore, it is not possible to submit programming assignments two weeks after the due date.
Class and Lab Preparation: All students are expected to read the chapters to be covered in class and familiarize themselves with the week’s assignments before class. In this way, you will obtain much better value from the class, and can make best use of lab time.
Withdrawal: It is the responsibility of each student to ensure that his or her name is removed from the roll should he or she decides to withdraw from the class. The instructor does, however, reserve the right to drop a student should he or she feel it is necessary. If a student decides to withdraw, he or she should also verify that the withdrawal is submitted before the Final Withdrawal Date. The Final Withdrawal Date for this semester is Monday, April, 25 2022. The student is also strongly encouraged to keep any paperwork in cases a problem arises.
Students are responsible for understanding the impact that withdrawal from a course may have on their financial aid, veterans’ benefits, and international student status. Per state law, students enrolling for the first time in Fall 2007 or later at any public Texas college or university many not withdraw (receive a W) from more than six courses during their undergraduate college education. Some exemptions for good cause could allow a student to withdraw from a course without having it count towards this limit. Students are strongly encouraged to meet with an advisor when making decisions about course selection, course loads, and course withdrawals.
In situations where the student fails to withdraw before the withdrawal date, and the student's work is below the minimum acceptable standards, a letter grade of F will be given.
Incomplete Grade: A student may receive a temporary grade of “I” (Incomplete) at the end of the semester only if ALL of the following conditions are satisfied:
- The student is unable to complete the course during the semester due to circumstances beyond their control.
- The student has earned at least half of the grade points needed for a “C” by the end of the semester.
- The student requests the grade in person at the instructor’s office and necessary documents are completed before the last day of the semester.
To remove an “I”, the student must complete the course by two weeks before the end of the following semester. Failure to do so will result in the grade automatically reverting to an “F”.
Miscellaneous: Classes will start and end on time. If you must arrive late or leave early, please minimize any disruption to your fellow students by sitting quietly close to the door.
Health & Safety Protocols
All ACC campuses and centers have one entrance for students and employees. The college is limiting facility access to faculty, essential staff, and students who are enrolled in Career and Technical Education courses. Each person is required to take the following steps:
1. Self-screen for COVID-19 symptoms using the ACC Health Screening App. There are three secure ways to use the app — 1) download it on your phone (recommended), 2) download the web link, or 3) you may use an iPad that is available at the door. It is easy to download and use. Answer a series of quick questions and the app will give you results. Save the results to show at the door upon entry. Get the app here at:
https://www.austincc.edu/coronavirus/acc-health-screening-app
2. ACC ID badges or Student ID cards will be required for all employees and students upon entry. Employees and students must display their I.D. at all times.
3. Temperature checks will be conducted with a no-touch thermometer. If you have a fever 100 degrees Fahrenheit or greater, you will not be admitted to the building.
4. ACC Health Screen App results will be requested at the door. If you are unable to download the app, an iPad will be provided at the door so that you may answer a series of questions to determine if you have COVID-19 symptoms which include:
Cough
Shortness of breath or difficulty breathing
Chills
Repeated shaking with chills
Muscle pain
Headache
Sore throat
Loss of taste or smell
Diarrhea
Fever
Have you come into contact with anyone who tested positive for COVID-19 with 14 days?
If you do not pass the pre-screening, you will receive specific information on healthcare procedures and instructions for what you need to know to be able to return to campus.
5. Facial coverings/masks are required for anyone entering an ACC building. You must wear a facial covering/mask at all times. In private spaces such as an individual office, your facial covering may be removed if you are alone. These guidelines are consistent with guidance from the Centers for Disease Control and Prevention, which makes clear that facial coverings and social distancing are among the most effective measures for limiting the spread of COVID-19.
On-Campus Protocols
- Wash and sanitize your hands prior to entering a classroom, office, or facility. Hand sanitizing stations, disinfecting wipes, soap, and water are readily available.
- Continue to practice good hygiene by washing your hands frequently for 20 seconds.
- Practice social distancing with all individuals by maintaining at least six feet of separation.
- Follow floor stickers that are placed throughout the campus to help guide social distancing in high traffic areas.
- A maximum of two people at a time will be allowed in elevators.
- Facial coverings/masks must remain on at all times. A facial covering may only be removed as allowed by the course safety plan (i.e., when alone in private spaces such as an individual office).
- For the safety of all who are on-campus, water fountains will be turned off, vending machines will have limited services, all food services will be suspended, and common area furniture will be removed. Please plan accordingly.
Course Subjects
|
Competency Module |
Engineering Software Products: An Introduction to Modern Software Engineering |
Quizzes, Projects, and Exams |
|
Orientation |
Orientation |
Orientation Exam |
|
Competency 1 |
Chapter 1: Software Products
Chapter 2: Agile Software Engineering
The Textbook's End of Chapter Recommended Reading and Video |
Quiz 1 |
|
Project 1 |
||
|
Quiz 2 |
||
|
Project 2 |
||
|
Competency 2 |
Chapter 3: Features, Scenarios and Stories
Chapter 4: Software Architecture
The Textbook's End of Chapter Recommended Reading and Video |
Quiz 3 |
|
Project 3 |
||
|
Quiz 4 |
||
|
Project 4 |
||
|
Competency 3 |
Chapter 5: Cloud-based Software
Chapter 6: Microservices Architecture
The Textbook's End of Chapter Recommended Reading and Video |
Quiz 5 |
|
Project 5 |
||
|
Quiz 6 |
||
|
Project 6 |
||
|
Midterm Exam |
|
Competency 4 |
Chapter 7: Security and Privacy
Chapter 8: Reliable Programming
The Textbook's End of Chapter Recommended Reading and Video |
Quiz 7 |
|
Project 7 |
||
|
Quiz 8 |
||
|
Project 8 |
||
|
Competency 5 |
Chapter 9: Testing
Chapter 10: DevOps and Code Management
The Textbook's End of Chapter Recommended Reading and Video |
Quiz 9 |
|
Project 9 |
||
|
Quiz 10 |
||
|
Project 10 |
||
|
Capstone Project |
||
|
Final Exam |
Office Hours
Published: 01/18/2022 16:25:02