Syllabus
Purpose and Objectives
This syllabus contains policies and expectations I have established for CS1114. Please read carefully the entire syllabus before continuing in this course. I intend for these policies and expectations to create a productive learning atmosphere for all students. Unless you are prepared to abide by these policies and expectations, you risk losing the opportunity to participate further in the course. Policies and expectations as set forth in this syllabus may be modified at any time by the course instructor. Notice of such changes will be made by announcement in class, by written or email notice, or by changes to this syllabus posted on the course website.
Revise and Extend
I reserve the right to revise and/extend any part of this syllabus at any time if I consider it warranted.
Course Goals
- Develop problem-solving skills.
- Develop reasoning and solution design skills.
- Develop programming skills in a modern computer programming language.
- Develop testing skills to ensure a solution’s correctness
- Develop program abstraction skills.
- Develop familiarity with modern computer technology.
- Reinforce basic mathematics and logic skills
- Develop computational thinking skills using primitive data, compound data, structural recursion, and distributed computing.
Course Topics (in order)
- Problem-solving, expressions, functions, and making decisions
- Problem-solving with fixed-size data
- Problem-solving with arbitrarily large data
- Abstraction, generic programming, and objects
- Distributed Programming
Contact
The best way to get in contact for personal, private (FERPA, etc) messages is via my email address hemannja@shu.edu. You should expect a response within 48 hours. You will find that I am faster with Piazza or our public forums. If I deem it even potentially useful to others, I will likely anonymize your letter, re-post it on Piazza, answer it there, and forward you the link.
A great regular way to reach out for help is via our office hours.
Resources
Our primary textbook will be Marco T. Morazán’s Animated Program Design. We will follow it for exercises and also for main thrust of developing a distributed programming project.
Ancillary text
How to Design Programs, 2nd Edition
This latter text is freely available online, and you may find it a useful supplement.
Grading
Area | Percent |
---|---|
Tutoring HW Validation | 05% |
Class Participation | 05% |
Homework Quizzes | 40% |
Midterm Project | 10% |
Midterm Exam | 10% |
Final Project | 10% |
Final Exam | 20% |
Evaluation | 1* |
Total | 101 |
Midterm & Final Exam
I will ask that you complete this individually. These will check our learning and you should expect the exams, like the material, to be cumulative.
Midterm & Final Project
Working together with other developers is an important skill, and no large modern software is developed alone or without some interface with the broader community. You will have the opportunity to work in groups of no more than four to complete these projects. You are not bound to the same group you started with. I will assign a grade to the group. The project is scoped for a group of 2-3 individuals working together and pair programming. These projects will somewhat build on the material from class and earlier assignments, but will partly ask you to design and develop your own real functioning software.
Homework Quizzes
I will, throughout the course of the semester, have some more sizable homework assignments, homework quizzes, that I expect you to complete and to turn in for credit and grading. These will be important in ensuring that we are both aligned as to how well you are absorbing the course content, and as a way to help you in fact keep up with the material.
You will generally have one week to complete these assignments.
Tutoring & Validation
I have asked our tutors to be the ones to check you off for small homework assignments that we are grading for completion. You will have a date by which to have these completed and to come by and show your work. You will find this useful, as you will want to be making use of tutoring resources should you get stuck, or want clarification on a concept, and I hope you will be able to then demonstrate your understanding to them.
Class Participation
Attendance is mandatory and expected; I will expect to take attendance myself at least until I know everyone’s names by heart, which usually takes some time. I expect that you will attend every class, arrive on time for a prompt start, and participate in and contribute to class. If you have some reason to not be in class—academic, health, other, you must let the course staff know ahead of time. Attendance is necessary, but not sufficient, for participation in class. Your participation in our class activities and discussions is important for your own learning as well as the learning of others. Participation can take the form of answering questions, asking questions, demonstrating solutions to in-class assignments, helping a neighbor during pair-programming exercises, coming to office hours, and many other forms. I hope that you will feel comfortable enough to ask and answer questions during class. We will often be using small breakout groups in class; the expectation is that you will work with your group on the problem at hand and take turns sharing your findings with the entire class. Beyond tracking attendance itself, I am keeping a rough track of highly active and especially inactive students.
Course Evaluation
Through most of the semester, I am asking you to do work for your own benefit, and taking the effort to grade it. The university schedules evaluations for this course—intended to benefit me, your future colleagues, and the university as a whole—over a time in the semester in which you have a large amount of work and little time to do it. I want to make sure it is in your interests too to spend some of that time providing your candid assessment. I find the qualitative written feedback to be much more actionable and granular than the quantitative top-line numbers, but both are valuable. To that end, if at least 85% of the course submits an evaluation, I will add one GPA point to the overall course average.
Technology and Platforms
We will use a variety of tools and platforms to facilitate teaching and learning over the semester. Please see the technology page for more details.
Academic Integrity
Cheating refers to copying or submitting as your own, with or without consent, someone else’s work as your own. Misrepresentation of someone else’s work as one’s own is a grave violation of academic ethics. This includes copying from someone else answers to questions during an examination as well as copying programs from internet sources. Plagiarism refers to using someone else’s work in your own and not properly crediting the authors of that work. This includes adapting someone else’s code to solve a problem or write a program. There will be no tolerance for cheating and plagiarism in this course. Any material that is not entirely your own work needs to be properly indicated and cited. This includes any work produced together with fellow students. You MUST indicate any sources of help outside of the course text(s) and your own work, including the names of students with whom you worked, internet resources or other sources of help. Failure to do so constitutes a violation of academic integrity. When in doubt, ask your instructor. Violations of academic integrity will lead to a score of zero on the offending assignment and likely an immediately failing grade for the course.
DSS
It is the policy and practice of Seton Hall University to promote inclusive learning environments. If you have a documented disability you may be eligible for reasonable accommodations in compliance with University policy, the Americans with Disabilities Act, Section 504 of the Rehabilitation Act, and/or the New Jersey Law against Discrimination. Please note, students are not permitted to negotiate accommodations directly with professors. To request accommodations or assistance, please self-identify with the Office for Disability Support Services (DSS), Duffy Hall, Room 67 at the beginning of the semester. For more information or to register for services, contact DSS at (973) 313-6003 or by e-mail, or visit their webpage.
Acknowledgments
Thanks over the years for inspiration and content from at least the following: Dan Friedman, Shriram Krishnamurthi, Lindsey Kuper, and Marco Morazán.