Hello, dear friend, you can consult us at any time if you have any questions, add WeChat: daixieit


Course Syllabus: CSCE 156 (Fall 2021) Computer Science II


1. Course Info

1.1 Prerequisites:

MATH 106 or equivalent and a grade of C or better in CSCE 155


1.2 Course Description:

Data structures, including linked lists, stacks, queues, and trees; algorithms, including searching, sorting, and recursion; programming language topics, including object-oriented programming; pointers, references, and memory management; design and implementation of a multilayer application with SQL database.


1.3 Post requisites:

This course is a prerequisite for CSCE 310 (Data Structures & Algorithms). A grade of C or better is required to move on to CSCE 310.


2. Course Objectives:

Throughout the duration of this course, you will be presented with a lot of information, some of which will have immediate application and some whose importance is not immediately apparent. As a different measure of your success in this course, by the end, you should have the following skills.

1. Be able to more easily pick up and learn a new programming language on your own

2. Be able to recognize, use, design and appreciate programs with an Object-Oriented favor

3. Be able to design a database-backed application from scratch given a general problem statement

4. Be able to understand and implement basic data structures as well as recognize how and when to leverage appropriate simple data structures

5. Be able to identify and analyze basic algorithms

Overall, CS2 is a continuation of CS1. At the end of a typical CS1 course, you should be able to approach a reasonably complex problem, design a top-down solution, and code a program in a high-level programming language. By the end of this course your approach to problem solving should be modified to ask and answer design questions first:

●  What entities/objects would be appropriate to model this problem?

●  How would these objects interact to solve the problem?

●  What data structures would be the most appropriate or efficient to use?


3. Textbooks:

Required – Chris Bourk; Computer Science II; Online: https://cse.unl.edu/~cbourke/ComputerScienceTwo.pdf


4. Course Outline:

-  Introduction to Java (Week 1-3)

-  Object Oriented Programming in Java (Week 3-6)

-  Database Design, SQL, Database Connectivity (JDBC), multi-tier design (Week 7-9)

-  Algorithm Analysis, Recursion, Searching & Sorting (Week 10)

-  Lists (array-based, linked; circular doubly linked), Stacks & Queues (Week 11-13)

-  Trees; Binary Search Trees (Week 14-15)


5. Evaluation Criteria:

-  Assignments (75%)

-  Lab (25%)

Note #1: In general, there will be no make-up or late work accepted. Exceptions may be made in certain circumstances such as health or emergency, but you must make every effort to get prior permission. Documentation may also be required.

Note #2: Homework assignments have a strict due date/time as defined by the CSE server's system clock. All program les must be handed in using CSE's web-handin as specified in individual assignment handouts. Programs that are even a few seconds past the due date/time will be considered late and you will be locked out of handing anything in after that time.

Note #3: You are welcome to discuss your graded assignments and exams with the TA or instructor. However, the discussion must be done within 7 calendar days after you receive your graded assignment/exam back.


6. Grading Scale:

A+ = 97 - 100+

A = 93 - 96.99

A- = 90 - 92.99

B+ = 87 - 89.99

B = 83 - 86.99

B- = 80 - 82.99

C+ = 77- 79.99

C = 73 - 76.99

C- = 70 - 72.99

D-, D, D+ = 60 - 69.99

F = Below 60


7. Teaching/ Lecture Format:

The lectures/lab will be held both in-person during the regular lecture times. Class recording will not be available.


9. Labs:

There are weekly labs that give you hands-on exercises for topics recently covered in lecture. The purpose of lab is not only to give you further working experience with lecture topics, but also to provide you with additional information and details not necessarily covered in lecture. Each lab will have some programming requirements and a supplemental worksheet.

Labs are setup as a peer programming experience. In each lab, you will be randomly paired with a partner. One of you will be the driver and the other will be the navigator. The navigator will be responsible for reading the instructions and guiding the driver. The driver will be in charge of the keyboard and will type the code. Both driver and navigator are responsible for developing and working through solutions together. Neither the navigator nor the driver is in charge,” it is an equal partnership”. Beyond your immediate pairing, you are encouraged to help and interact and with other pairs in the lab.

Unless otherwise stated, you are required to finish the lab by the end of your regular lab meeting time. A lab instructor must sign off on your lab worksheet and you must turn it in to receive credit. Labs that have not been completed on time may not receive credit. This means that you must show up to your lab on time and be properly prepared. Being prepared means having gone through the relevant material and pre-lab required reading. It means not being preoccupied with material or questions not related to the lab material.


10. Assignments:

There are 8 assignments. Assignments will be due 1 second before midnight Friday evening the week that they are due. Code and other relevant artifacts must be submitted using CSE’s webhandin. If there are written portions of the homework, they should be typed. You should typeset code snippets using a monotype font (Courier for example) for readability. Figures may be hand drawn, but you are encouraged to use some sort of software to render them.

In this course, most of the assignments build on prior assignments. Therefore, it is extremely important for you to stay on task and not fall behind with assignments. You should start on assignments early and resolve any and all issues (bugs, design flaws) as soon as possible so they do not carry over to the next assignment.


11. 15th Week Policy Notification:

A per UNL’s 15th Week Policy (available here: https://registrar.unl.edu/academic-standards/policies/fifteenth-week-policy/) we are required to serve written notice that the final assignment as well as the final lab will be due during the 15th week or "dead week."


12. Face Covering Statement

An individual in this course has a documented need for face coverings to be required in this course. Without divulging personal or identifying information, such a documented need might be that a member of their household is unable to be vaccinated or has a health condition that makes vaccines less effective for them. As a result, the College of Engineering has determined that face coverings will be required in this course. If you are unwilling to comply with this requirement, please visit with your advisor about different sections or possible alternative courses that you might take in lieu of this one.


13. Attendance:

Attendance at all officially scheduled class meetings is expected. Students are responsible for knowing all material discussed in class meetings. Changes to class and assignments will be announced via Canvas.


14. Academic Integrity:

The Computer Science & Engineering department has an Academic Integrity Policy available at: http://cse.unl.edu/ugrad/resources/academic_integrity.php

Please note that by staying on the course you are abiding to the rules and regulations as described on the page. This is non-negotiable.


15. Accommodations for Students with Disabilities:

Students with disabilities are encouraged to contact the instructor for a confidential discussion of their individual needs for academic accommodation. It is the policy of the University of Nebraska-Lincoln to provide flexible and individualized accommodations to students with documented disabilities that may affect their ability to fully participate in course activities or to meet course requirements. To receive accommodation services, students must be registered with the Services for Students with Disabilities (SSD) office, 232 Canfield Administration, 472-3787 voice or TTY.


16. Counseling Services:

UNL offers a variety of options to students to aid them in dealing with stress and adversity. Counseling and Psychological Services (CAPS) is a multidisciplinary team of psychologists and counselors that works collaboratively with Nebraska students to help them explore their feelings and thoughts and learn helpful ways to improve their mental, psychological and emotional well-being when issues arise. CAPS can be reached by calling 402-472-7450. Big Red Resilience & Well-Being provides fun events, innovative education, and dynamic services to help students understand emotions, manage stress, build strength, connect with others, develop grit and navigate transitions.


17. Miscellaneous:

The CSE Department has an anonymous suggestion box (http://cse.unl.edu/department/suggestion.phpthat you may use to voice your concerns about any problems in the course or department if you do not wish to be identified.


18. Communication & Getting Help

The primary means of communication for this course is Piazza, an online forum system designed for college courses. We have established a Piazza group for this course, and you should have received an invitation to join. If you have not, contact the instructor immediately. With Piazza you can ask questions anonymously, remain anonymous to your classmates, or choose to be identified. Using this open forum system, the entire class benefits from the instructor and TA responses. In addition, you and other students can also answer each other’s questions (again you may choose to remain anonymous or identify yourself to the instructors or everyone). You may still email the instructor or TAs, but more than likely you will be redirected to Piazza for help.


18.1 Learning Assistant Program (LAP)

This course is supported by the CSE Learning Assistant Program (LAP).

The mission of the LAP is to improve student comprehension and retention in computing fields by focusing on the learner's experience. This course will be supplemented by Learning Assistants (LAs) and Course Leaders (CLs) to help improve your learning. LAs and CLs are other undergraduate students who have taken the same or similar courses and have been trained to help you succeed in this course. Your LAs and CLs will hold regular office hours, help with grading, and assist you with labs/assignments.

I strongly encourage you to utilize the LAs and CLs when you are completing coursework. More information can be found in the Learning Assistant Program Module on Canvas.


18.2 Getting Help

Your success in this course is ultimately your responsibility. Your success in this course depends on how well you utilize the opportunities and resources that we provide. There are numerous outlets for learning the material and getting help in this course:

●  Lectures: attend lectures regularly and when you do use the time appropriately. Do not distract yourself with social media or other time wasters. Actively take notes (electronic or handwritten). It is well-documented that good note taking directly leads to understanding and retention of concepts.

●  Lecture Videos: Lecture videos are intended as a supplement that mirrors lecture material but that may not cover everything. Watch them at your own pace on a regular basis for reiteration or in case you missed something in lecture.

●  Required Reading: do the required reading on a regular basis. The readings provide additional details and depth that you may not necessarily get directly in lecture.

●  Labs: use your time during labs wisely. Engage with your lab instructors, teaching assistants, your partner(s) and other students. Be sure to adequately prepare for labs by reading the handouts before coming to lab. Get started and don’t get distracted.

●  Piazza: if you have questions ask them on Piazza. It is the best and likely fastest way to get help with your questions. Also, be sure to read other student’s posts and questions and feel free to answer yourself!

●  Office Hours & Student Resource Center: the instructor and teaching assistants hold regular office hours throughout the week as posted on the course website. Attend office hours if you have questions or want to review material. The Student Resource Center (SRC, http://cse.unl.edu/src) Monday through Friday. Even if your TAs are not scheduled during that time, there are plenty of other TAs and students present that may be able to help. And, you may be able to help others!

●  Don’t procrastinate. The biggest reason students fail this course is because they do not give themselves enough opportunities to learn the material. Don’t wait to the last minute to start your assignments. Many people wait to the last minute and flood the TAs and SRC, making it difficult to get help as the due date approaches. Don’t underestimate how much time your assignment(s) will take and don’t wait to the week before hand to get started. Ideally, you should be working on the problems as we are covering them.

●  Get help in the right way: when you go to the instructor or TA for help, you must demonstrate that you have put forth a good faith effort toward understanding the material. Asking questions that clearly indicate you have failed to read the required material, have not been attending lecture, etc. is not acceptable. Don’t ask generic questions like "I’m lost, I don’t know what I’m doing". Instead, explain what you have tried so far. Explain why you think what you have tried doesn’t seem to be working. Then the TA will have an easier time to help you identify misconceptions or problems. This is known as "Rubber Duck Debugging" where in if you try to explain a problem to someone (or, lacking a live person, a rubber duck), then you can usually identify the problem yourself. Or, at the very least, get some insight as to what might be wrong.