COSC 1010 Introduction to Software Problem Solving

Course Syllabus: Lectures
Office Hours
Grading Policy
Course Instructor: Dennis Brylow
Email: brylow at mscs dot mu dot edu
Office: CU 380

Graduate Teaching Assistant: Farzana Rahman
Email: frahman at mscs dot mu dot edu
Office: CU 357

Undergraduate Lab Tutor: Katie Zagorski
Lab: CU 101
MWF 12:00pm - 12:50pm, CU 118
Laboratory Sections
401: Thu 8:00am - 9:50am, CU 101
402: Thu 2:00pm - 3:50pm, CU 101
Office Hours
Dennis Brylow
Mon/Tue 3:00pm - 4:00pm
Wed 5:00pm - 6:00pm
Thu 7:00pm - 8:00pm

Farzana Rahman
Tue/Thu 10:00am - 12:00pm

Katie Zagorski
Posted in lab
MSCS Department Logo


Java Textbook Cover
Readings will be regularly assigned from the textbook.
Lectures will assume that students have already read the assigned chapters.
In addition, some homework problems may be assigned out of the book.
Some of these problems also make excellent exam questions.

Course Objectives

Upon completing this course, students will be able to:
  • Design and implement basic computer algorithms for solving a variety of computational problems,
  • Identify and use common control structures and basic data types,
  • Use introductory tools and techniques to develop software, and
  • Read, write, run, and test programs in the Java programming language.
  • Course Policies

    Grades will be calculated using the following formula:
    Homework 40%
    Labs 20%
    Pop (Reading) Quizzes 5%
    Exam #1 10%
    Exam #2 10%
    Exam #3 15%
  • Students must pass BOTH the practical portion of the grade (homework and labs,) AND and the exam portion of the grade to pass the course overall.
  • Assignments are to be completed individually, except when specifically noted otherwise. You may discuss course topics with your collegues, but written work and programmed code is not to be shared.
  • Academic dishonesty (claiming another person's work as your own) will not be tolerated. Infractions will result in immediate failure of the course, and referral to the Dean's office.
  • If you are not certain what constitutes fair play and what will be considered academic dishonesty, please ask the instructor.
  • Homework will consist of substantial design and implementation projects, often with a week or more lead time. Students who wait until a few days before the deadline to begin the homework will typically not succeed.
  • Due to the size of this course, late work will not normally be accepted for grading. Students are expected to observe deadlines and follow submission instructions precisely.
  • Schedule

    Week    Topics Readings Notes/Demos Labs Assignments
    01 Introduction Ch 1 Adder
    02 Basic Operations Ch 2 Summer HW #1: Rods To The Hogshead
    03 Control Flow Ch 3 HW #2: The Forbidden Word
    04 More Control Flow Ch 4 Triangle
    Point PointDemo
    HW #3: Forfty Percent Solution
    05 Methods and Classes Ch 5 HW #4: Treasure Hunt
    06 More Methods and Classes Ch 6 Exam #1
    07 Arrays Ch 7 toString HW #5: Target Practice
    08 Recursion
    Midterm Break
    Ch 11 PointTest, TargetTest Break
    09 More Recursion Ch 11 HW #6: More Target Practice
    10 Inheritance Ch 8 HW #7: Knights-A-Visiting
    11 Exceptions Ch 9 ArgDemo, ExcpTest Exam #2
    12 Streams and Files Ch 10 HW #8: Percolation
    13 Data Structures
    Thanksgiving Break
    14 Dynamic Structures and Generics    Ch 12 HW #9: Variations
    15 More Data Structures HW #10: Address Book
    (16) Final Exam Week Exam #3
    The instructor reserves the right to adjust this schedule as necessary.

    [Revised 2010 Sep 03 19:28 DWB]