0% found this document useful (0 votes)
153 views7 pages

ABET Syllabus Template COMP1020 (Honors) Adams Fall 2022

This document provides information about the COMP1020 Computing II (Honors) with Lab course offered in the Fall 2022 semester. The course covers advanced programming concepts like pointers, lists, stacks, queues, trees, and graphs using the C programming language. It includes both lecture and lab components, with the lab accounting for up to 25% of the final grade. Students will be assessed through programming assignments, quizzes, exams, and a final exam. The course aims to help students strengthen their skills in applying computational concepts, analyzing problems, and using current programming techniques.

Uploaded by

Vasu patel
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
153 views7 pages

ABET Syllabus Template COMP1020 (Honors) Adams Fall 2022

This document provides information about the COMP1020 Computing II (Honors) with Lab course offered in the Fall 2022 semester. The course covers advanced programming concepts like pointers, lists, stacks, queues, trees, and graphs using the C programming language. It includes both lecture and lab components, with the lab accounting for up to 25% of the final grade. Students will be assessed through programming assignments, quizzes, exams, and a final exam. The course aims to help students strengthen their skills in applying computational concepts, analyzing problems, and using current programming techniques.

Uploaded by

Vasu patel
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 7

Computer Science Department

COMP1020Computing II (Honors) with Lab


COMP1040L-2xx
3 contact hours – 2 lab hours (CoReq) - 4 credits
Fall 2022 Syllabus

General Information

Instructor Dr. David B. Adams


Office Dandeneau 326
Phone 978-934-3911
Class Time MWF 12:00-12:50
Class Location Olsen 401
Office Hours MWF 9-10, TTh virtual by appointment
Teaching Assistant Varies according to lab section

Required Textbook
• Algorithms in C, Third Edition by Robert Sedgewick. (Parts 1-5)

Supplementary Textbook / Materials


• Optional: Data Structures An Advanced Approach Using C, Esakov and Weiss
• Optional: Data Structures and Program Design in C, Second Edition by Kruse, Tondo
and Leung.

Course Description
Pointers. Lists, stacks and queues. Binary trees, AVL trees, n-ary trees. Advanced sorting
via quicksort, heapsort, etc. Characters and strings. Graphs. Advanced file techniques.
Recursion. Programming style, documentation, and testing. This course includes extensive
laboratory work. Effective Fall 2013, Co-req: Computing 2 lab.

Course Prerequisites
• COMP1010 Computing I and COMP1030L Computing I Lab.
Course Category
• Required
Additional Course Information
• Purpose – This course is intended to provide the student with an understanding of
hardware and software concepts, program design with data structures, and
programming in C.
• Web Page – on Blackboard
• Software – Visual Studio 2017 or 2019

Additional Faculty Details


• Office Location – Dandeneau or https://discord.gg/fvm6K6k
• Email – [email protected] or [email protected]

1
ABET Student Outcomes:
By the conclusion of the course, students must demonstrate:

(a) An ability to apply knowledge of computing and mathematics appropriate to the


discipline.

This course will extend the student’s knowledge about programming. Data
structures, complexity analysis, testing, and good software development practices
will be practiced and evaluated.

(b) An ability to analyze a problem, and identify and define the computing
requirements appropriate to its solution.

The presentation of the material will be strongly based on providing a motivation


for existing practices and language features. New material will be introduced as a
solution to a problem based on the services provided by available computing
hardware. Throughout the course, computing will be presented in a framework of:

1. Understanding known tools and their applicability to desired results;

2. Reformulating the problem specification to require a more sophisticated solution,


beyond these tools’ limitations; and

3. Introducing new tools or facilities that can meet the new requirements.

In this way, computational problems are presented as admitting a wide range of


solutions of varying degrees of complexity.

(i) An ability to use current techniques, skills, and tools necessary for computing
practice.

Students will cover vectors, linked lists, stacks, queues, trees, graphs, heaps and
hash tables all using opaque objects in C.

(k) An ability to apply design and development principles in the construction of


software systems of varying complexity.

The practical component of the course will entail implementing solutions to


specific problems based on specification documents. As the student’s repertoire of
programming techniques expands, programming assignments will gradually allow
more freedom in implementation details, requiring selection of the most appropriate
tools and careful consideration of the tradeoffs involved in selecting one approach
over another.

Course Outcomes:

At the completion of this course, students will have demonstrated:

1. An understanding of terminology associated with computing systems. [ABET a]


2
Assessment: Exams and/or quizzes
2. The ability to create structured modular programs [ABET b]
Assessment: Programming exercises and/or exams
3. An understanding of the basics of procedural programming and the concept of
generic data structures in C. [ABET a and b]
Assessment: Programming exercises and/or exams
4. Recognition of the importance and proficiency in the use of good programming
style. [ABET i and k]
Assessment: Programming exercises
5. The ability to use the basic features of a Unix/Linux environment to create,
debug, execture and submit programs in C using makefiles. [ABET i]
Assessment: Programming exercises
6. A demonstrated proficiency with lists, stacks, queues, vectors, trees, and basic
graphs as well as an introductory understanding of asymptotic analysis of
algorithms. [ABET i, k]
Assessment: Programming exercises

Methodology

Teaching methods: This course will make use of lectures, examples, and question and
answer sessions. Hands-on programming activities using computers
during class, in addition to active reading, experimenting with sample
programs, and problem solving, will be used during the semester.
Independent programming assignments are used to evaluate language
and coding skills.

Assessment: There will be in-class exercises, regular problem sets and quizzes,
programming exercises, two in-class written exams, and a
comprehensive final exam.

Honors Components: The Honors components of this class include programming


challenges that stretch students to learn through discovery and a much
deeper and challenging lab that requires revisiting older code to
complete a much larger project. The lab creates a semester long
project that continues to build for the entire term culminating in a
final project that is a satisfying and fun end to the semester.
Additional challenge exercises are designed to keep the Honors
students pushing the boundaries of what they are capable of
achieving.

Grading:
The available points for the various assignments in this class are:

Program Average 50%


Quiz Average (Bonus) 5%
In-Class Exams 2x15%
Final Exam 20%

3
The above comprises your lecture grade. Your lab grade will account
for up to 25% of your total score where the remaining score is
accounted for using your lecture grade and you will receive the
same grade in the lecture as you receive in the lab; the courses are
linked.

Final grades will be assigned using the following scale:

A 90-100%
B 80-89%
C 70-79%
D 60-69%
F Below 60%

At the end of the semester, a course average is computed for each


student using the percentage weights given above. The scale for
assigning letter grades based on the course average is formed by
averaging the grading scales of the programs, problem sets, quizzes,
and exams using the weights given above. Factors such as
attendance, improvement (especially as demonstrated on the final
exam), and class participation may be considered when making the
final decision in borderline cases.

Requests for re-grading assignments may be made up to one week


after the assignment is returned. The request must be submitted in
writing and include a short paragraph outlining the rationale for the
re-grade. Acceptable requests include correcting errors in calculating
a score, marking a correct answer incorrect, etc.

Course Policies

Attendance: Formal attendance is mandatory. Three unexcused absences are


permitted during the semester. Additional absences may result in a
failing grade and/or removal from the course.

Academic integrity: The practice of good ethical behavior is essential for maintaining
good order in the classroom, providing an enriching learning
experience for students, and as training as a practicing computing
professional upon graduation. This practice is manifested in the
University’s Academic Integrity policy. Students are expected to
strictly avoid academic dishonesty and adhere to the Academic
Integrity policy as outlined in the course catalog. Violations will be
dealt with as outlined therein.

As a general rule, all work submitted for grading must be the


student’s own work. Students are allowed to help each other solve
compiling and linking problems, and may generally discuss issues
related to a student’s particular program, but students may not share
code, write code, or examine another student’s code.

In regard to homework and projects, students may discuss the


problems (what is being asked for), appropriate material from class
lectures or the textbook or acceptable other sources. Students,

4
however, may not share answers or the specifics of how to answer the
question.

Use of material from previous classes, solution manuals, material


from the Internet or other sources (e.g., parents, siblings, friends,
etc.) that directly bears on the answer is strictly prohibited.

At the discretion of the instructor, students may be asked to sign a


statement that they have abided by the Univerisity’s Academic
Integrity policy and its application to this class. This statement may
appear on homework, tests, or projects.

When in doubt, consult the course professor before doing something


that may result in violation of the University’s Academic Integrity
policy.

Application to this course:


Programming assignments are to be done by the student alone. No
outside help is permitted. If you need help on a programming
assignment you can only receive aid from the instructor of the course,
lab TAs or approved tutors.

The sanction for the first violation of the Academic Integrity policy or
plagiarism policy will result in a minimum failing grade on the
relevant assignment and the violation will be reported to the student’s
department chair. Once the final decision has been rendered and any
or all appeals exhausted by any parties involved, the instructor or
appropriate parties will carry out the recommended sanction.

Personal conduct: In order to minimize distractions and interruptions, students will be


expected to:

1. Arrive to class on-time and fully prepared.

2. Give the instructor full and undivided attention once the


lecture has begun.

3. Turn off and stow all cell phones, pagers, and any other
personal electronic devices once the lecture has begun.

Failure to adhere to these policies may result in immediate dismissal


from class and loss of any in-class credit for relevant assignments or
activities.

Computer use: Students are encouraged to use their laptop computer for taking notes
and other activities directly related to the course. The manner in
which students use the computer in class is considered a matter of
honor and professionalism. Students will adhere to the following
guidelines:

1. Computer use must be for taking notes or other activities


related directly to the course.

5
2. Computer use must be subtle and must not distract fellow
classmates or the instructor.

Inappropriate use of a computer in the classroom will be viewed as


disrespectful to the instructor and classmates and will be considered
unprofessional. Examples of inappropriate use include, but are not
limited to:

• Sending, receiving, or reading e-mail


• Instant messaging
• Web browsing
• Working on assignments
• Playing games
• Listening to music
• Watching movies

Judgments regarding the appropriateness of computer use are at the


discretion of the instructor. The consequences for violating this
policy are also at the discretion of the instructor, and may include loss
of in-class computer privileges, grade reduction, and so forth.

Course readings: Readings are to be completed before the class session for which they
have been assigned; material covered in each reading is fair game for
class discussions and unannounced quizzes.

Assignments: Assignments will be distributed via a mixture of paper and electronic


means. Students are responsible for managing due dates and
understanding submission procedures to turn in programming
assignments.

Exams: A discussion of the topics covered by each exam will occur during
class at most one week from the scheduled exam date.

Final exam: The comprehensive final exam for this class will fall between
December 14th and December 21st.

Late work: Late assignments or projects will not be accepted without prior
approval. Students must consult the instructor at least three days
prior to the scheduled due date of any assignment to make alternative
arrangements; however, the instructor is under no obligation to grant
any such request. Penalties such as a reduced score may be applied at
the instructor’s discretion.

In-class exams will not be rescheduled except in the event of an


excused absence. The instructor will work with the student to
schedule such a makeup exam; however, it is in the student’s best
interest not to miss the regularly scheduled in-class exam.

6
Tentative Schedule

Topic Week
Course Introduction 1
Introduction to software Engineering 2
Type Independent Vectors 3
Type Independent Stack 4
Linked Lists, Recursion, and Queues 5
Exam 1 General Lists 6
General Lists 7
Trees, Heaps, AVL-Trees 8
Toward Building an Associative Array 9
Binary Trees, AVL trees 10
Graphs 11
Searching 12
Exam 2 13
Sorting 14
Review 15

You might also like