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

CSCI 1226 (Winter 2024)

Introduction to Computers and Programming

Office hours:

Office hours are times for students to visit the instructor to ask questions about problems they're having. Here are my office hours during this term:

Days                                  Hours                            Office

MTRF

9 pm - 10 am

REMOTE

W

1pm - 2 pm

Email Policy:

Make sure to include "CSCI 1226" in the subject line.

Textbook:

There is no required textbook for this term. Everything you need to know is in the course notes. However, in the past we have used

Java: An Introduction to Problem Solving and Programming by Savitch & Carrano

Any edition from the 5th on covers everything we'll be doing in this course (and much of what we'll be doing in CSCI 1228).

Course Description:

(from Academic Calendar)

This course is designed to introduce the student to some of the key concepts in computing science and simultaneously provide introductory hands-on experience using a modern programming language. General topics will include a brief history of computing; the place of hardware, software, and policies in any computing environment; a high-level view of the  components  of a  computing  system;  and  the  tools  one  can  expect  to  find  in  any programming  environment.  Programming  language  topics  will  include  input/output; simple  data  types;   operators  and  expressions;  looping  and  decision-making   control constructs;   subprograms   and    parameter   passing;    overall   program   structure    and programming style considerations. Problem-solving and program-design strategies will include divide-and-conquer and top-down design with step-wise refinement. Students will design algorithms with data input and output to solve particular problems, and later implement those solutions as computer programs in the current programming language of choice.

3 credit hours

Majoring in CS?

This course is an introduction to computer programming. It is the starting course for CS

majors, but it is also for students who are just interested in computer programming. Many

students in this course have never written a computer program before. We will start with the very basics.

If you are planning to carry on in computer science, you will need togo on to take CSCI 1228, and later CSCI 2341 (data structures).

Declaration of Major: If you have completed at least the first three terms of your degree

(i.e., approximately 45 credit hours), it is time to declare your major. Please complete the

formhttps://www.smu.ca/webfiles/MajorMinorDeclaration.pdfand email it to [email protected] as soon as possible.

Science Advisor and Program Coordinator: Once you have declared your major, two important resources that will help to guide you through your degree are:

•   The Science Advising Office: [email protected] and

•   The student advisor for Computing Science and Computing Science/Business Admin degrees, [email protected].

Important Dates:

Jan 8

Classes begin

Jan 17

Last day to register for or change Winter courses.

Jan 17

Last day for dropping courses in the winter term

Feb 19 - 25

Winter break - no classes

March 14

Last day for withdrawing, without academic penalty (Reference: Academic Regulation 16).

April 8

Last day of classes

April 9-10

Study days. No classes.

April 11 - 22

Final Exams (dates subject to change)

Tentative List of Topics

1.   Introduction to Computers and Java

o  Computers

o  Programs

o  Programming

2.   Basic Computation

o  Variables and Expressions

o  Keyboard and Screen I/O

o  Documentation Style

3.   Flow of Control: Branching

o  The if-else Control

o  The Type boolean

4.   Flow of Control: Loops

o  The for and while Controls

o  Programming with Loops

5.   Defining Classes and Methods

o  Objects and References

o  Class and Method Definitions

o  Constructors

o  Static Variables and Static Methods

o  Overloading

6.   Arrays

o  Creating and Using Arrays

o  Arrays and Methods

o  Arrays of Objects

o  Arrays in Objects

Course Delivery:

The course will incorporate a combination of lecture and lab sessions designed at the

instructors' discretion. During the lab sessions, there will be problem solving exercises

designed to help you grasp the topics taught during lectures. All sections will follow the     same course outline and will use the same course delivery methods and grading schemes. Any deviations will be posted on Brightspace.

Expected Learning Outcome:

Computer programming is considered a core subject for all students in computer science. At the end of the course, you are expected to be able to:

•  Describe the Java data types that are used for simple data like numbers and characters.

•  Write Java statements to declare variables and define named constants.

•  Write assignment statements and expressions containing variables and constants.

•  Use the Java branching statements.

•  Use the primitive data type boolean.

•  Design and use a loop.

•  Describe the concepts of a class and of an object of a class.

•  Create objects of a class.

•  Define a Java class and its methods.

•  Define and use a class's constructors.

•  Write and use overloaded methods.

•  Describe the nature and purpose of an array.

•  Use arrays in simple Java programs (including sorting and searching the elements in an array).

Tips for Success!

There is a lot of material in this course, and it builds from one week to the next. The most important factor for success is keeping on top of things:

•  Pay attention in class and follow along with what we're doing on your computer.

•  Check the course homepage regularly for updates and important news.

•  Make sure you do the lab exercises each week. Submit them even if you think you didn't dowell. It won't lower your average because every point you get in lab

adds onto your total until youreach the maximum.

•  Start early on the assignments. It maybe that we haven't covered some parts of the assignment in class yet, but there's always something you can do on it —and if you pay attention, you'll see there's generally quite a bit you can do.

•  Submit assignments and labs early and submit often. You don't even have to finish it  before you submit it. We'll always get just the last version you submit. And even if you never get it finished, it's better to get partial credit (and we do give

substantial partial credit) than to get no credit at all.

Ask for help when you need it. Feel free to reach out to the professors and lab instructors if you find yourself unsure about any aspect of the course, or even if you just want to learn more. We're there for you.

Evaluation Criteria:

1.   Assignments (25%)

o  There are nine assignments designed to help you practice concepts learned in class.

o  Available on BrightSpace page.

o  The best six assignments will count towards your final grade. Missing assignments count as zeroes.

o  Assignments must be submitted electronically on BrightSpace.

o  Assignments are due by midnight at the end of the day they're due.

o  Late assignments will not be accepted.

2.   Lab Activities (15%)

o  Eleven in-lab assignments consisting of examples and analytical problems of the theory covered in class.

o  Available on BrightSpace page.

o  Collect lab points until your lab point jar is full (100 points).

o  Every extra 14 points that you collect from labs, will be counted as one bonus point toward your final grade for the course.

o  Some lab activities might require material you haven't seen in class yet. Skip

those bits and do what you can. The lab will not be due before all the material has been covered.

o  Lab activities are due by midnight at the end of the day they're due and should be submitted electronically through BrightSpace.

o  Late labs will not be accepted.

3.   Midterm Tests (20%)

o  Two midterm tests used to evaluate your knowledge of course content.

o  Tests are taken using the BrightSpace quiz tool.

o  Tests take place on Friday of the week they are scheduled.

o  The test will be available to start for a period of at least six hours during the day.

o  You have 90 minutes to complete each test from the time you start it.

o  Tests are open book.

o  No collaboration on tests will be tolerated. (See the Academic Integrity section below.)

o  If you miss one midterm, the weight for that midterm will be moved to the final exam.

o  If you miss both midterms, the weight of one test will be moved to the final exam. You will receive a grade of zero on the other.

4.   Final Exam (30%)

o  The final exam is scheduled by the Registrar during the formal exam period.

o  Will coverall material in the course.

o  If you miss the final exam for any reason, you must contact the Dean of Science withing 48 hours to request a new time.

o  You should send a copy of your request tome, but keep in mind that I do not decide whether you will get another chance.

5.   Better Testing Grade (10%)

o  Either your combined midterm test scores or your final examscore, whichever is greater.

The final mark will be a letter grade based on the scale described in Section 5 of the Academic Regulations in the University Calendar. There will be no supplementary examinations.

Note: students majoring in CS or Mathematics must achieve a minimum grade of C.

Missed Final Exam:

If you miss the final exam, you must contact the Dean of Science within 48 hours to schedule a new time, as explained in Academic Regulation #10 “Special Examinations”. The Dean decides whether your excuse is acceptable.

Academic Integrity:

You are required to demonstrate academic integrity in all of the work that you do. The University provides policies and procedures that every member of the university community is required to follow to ensure academic integrity.

There is no group-work in this course. Not on the weekly assignments; not on the in-lab activities; not on the tests and exam.

What that means is, unless stated otherwise, it is expected that all the work you submit is   your OWN work. You must compose and type it all by yourself, and not copy any of it from any other source, except:

•    We will sometimes provide you with “starter code”. This code can be incorporated entirely into your submission.

•    We provide sample code with the lecture notes. Code from those samples can be copied into your work and used as-is or adapted as required.

•     Code YOU prepared for an earlier assignment or lab maybe copied into one of your later assignments/labs/tests, and used as-is or adapted as required.

•     For weekly assignments and in-lab activities, students may work together to

generate pseudocode algorithms (the term will be explained in class). These algorithms must appear in your submitted work as comments in the code, together with a comment indicating all people who worked together to generate that pseudocode.

The student who gives code to another is also guilty of an academic integrity violation, even if it was given with a warning not to copy it.

Using LLMs or other AI tools that generate code and submitting the results as one's own original work is prohibited. Such actions will be considered a violation of Academic

Regulation 18. Students are allowed to use the AI tools for learning purposes, provided that they declare the use of AI in their submissions, and they do not claim the content generated  by the AI as their original work. Violation of this policy will be treated as an academic offense pursuant toAcademic Regulation 18.

The penalty for submitting any work that violates the academic integrity rules is a zero on    that submission — even if the violation pertains to only part of the submission. There will be no chance tore-submit that material.

If your submission is singled out in suspicion of an academic integrity violation, the

Academic Integrity Officer will get in touch with you to give you a chance to explain what happened. The AIO may decide to drop the matter at that time.

The Registrar will keep a record of your academic integrity violations. The violations will not be part of the public record, but any further action (usually as the result of a  second offence) could be.

Lack of knowledge of the academic integrity policy is not a reasonable explanation for a

violation. You are encouraged to consult the Academic Integrity and Student Code of

Conduct sections of the Academic Regulations in theAcademic Calendar, in order to be well informed on the consequences of dishonest behaviour.

The relevant sections are also availablehere.

Note that there is an appeal process, so you have recourse if you think your professor and the AIO have been unreasonable. Know your rights.