JCU Logo

JOHN CABOT UNIVERSITY

COURSE CODE: "CS 160-2"
COURSE NAME: "Programming Concepts and Applications"
SEMESTER & YEAR: Spring 2019
SYLLABUS

INSTRUCTOR: Walter Arrighetti
EMAIL: [email protected]
HOURS: TTH 6:00-7:15 PM
TOTAL NO. OF CONTACT HOURS: 45
CREDITS: 3
PREREQUISITES:
OFFICE HOURS:

COURSE DESCRIPTION:
This course introduces fundamental computer programming concepts using a high-level language and a modern development environment. Programming skills include sequential, selection, and repetition control structures, functions, input and output, primitive data types, basic data structures including arrays and pointers, objects, and classes. Software engineering skills include problem solving, program design, and debugging practices. The goal of this course is to advance students’ computational thinking, educate them to use programs as tools in their own field of study, and to provide them with fundamental knowledge of programming strategies.
SUMMARY OF COURSE CONTENT:
This course will introduce students to basic fundamental code development concepts. Students will use logics and problem solving skills to write programming code for various tasks.
LEARNING OUTCOMES:
1. Learn the fundamentals of programming using various data types, expressions, operations, selections, looping constructs and functions.
2. Use Object-Oriented Programming - abstraction, encapsulation, inheritance, modularity and reusability in software development.
3. Deliver interoprable, high- and low-level code that runs on multiple Operating Systems (Windows, macOS, Linux, Android).
4. Fundamentals of data analytics and big data.
5. Fundamentals of GUI (graphical user interface) development.
TEXTBOOK:
Book TitleAuthorPublisherISBN numberLibrary Call NumberCommentsFormatLocal BookstoreOnline Purchase
Python for Data Analysis, 2nd EditionWes McKinneyO'Reilly978-1491957660 Data wrangling with Pandas, NumPy, and IPython   
REQUIRED RESERVED READING:
Book TitleAuthorPublisherISBN numberLibrary Call NumberComments
Python Pocket ReferenceMark LutxO'Reilly978-1449319793  
Python Data AnalyticsFabio NelliApress978-1484209592 data analysis and science using Pandas, matplotlib and the Python programming language

RECOMMENDED RESERVED READING:
Book TitleAuthorPublisherISBN numberLibrary Call NumberComments
Learning PythonMark LutzO'Reilly978-1449355739  
Data Science at the command lineJeroen JanssensO'Reilly978-1491947852 Facing the future with time-tested tools
GRADING POLICY
-ASSESSMENT METHODS:
AssignmentGuidelinesWeight
Assignments 25
Active attendance 25
Midterm Exam 20
Final Exam 30

-ASSESSMENT CRITERIA:
AWork of this quality directly addresses the question or problem raised and provides a coherent argument displaying an extensive knowledge of relevant information or content. This type of work demonstrates the ability to critically evaluate concepts and theory and has an element of novelty and originality. There is clear evidence of a significant amount of reading beyond that required for the course.
BThis is highly competent level of performance and directly addresses the question or problem raised.There is a demonstration of some ability to critically evaluatetheory and concepts and relate them to practice. Discussions reflect the student’s own arguments and are not simply a repetition of standard lecture andreference material. The work does not suffer from any major errors or omissions and provides evidence of reading beyond the required assignments.
CThis is an acceptable level of performance and provides answers that are clear but limited, reflecting the information offered in the lectures and reference readings.
DThis level of performances demonstrates that the student lacks a coherent grasp of the material.Important information is omitted and irrelevant points included.In effect, the student has barely done enough to persuade the instructor that s/he should not fail.
FThis work fails to show any knowledge or understanding of the issues raised in the question. Most of the material in the answer is irrelevant.

-ATTENDANCE REQUIREMENTS:
ATTENDANCE REQUIREMENTS AND EXAMINATION POLICY
You cannot make-up a major exam (midterm or final) without the permission of the Dean’s Office. The Dean’s Office will grant such permission only when the absence was caused by a serious impediment, such as a documented illness, hospitalization or death in the immediate family (in which you must attend the funeral) or other situations of similar gravity. Absences due to other meaningful conflicts, such as job interviews, family celebrations, travel difficulties, student misunderstandings or personal convenience, will not be excused. Students who will be absent from a major exam must notify the Dean’s Office prior to that exam. Absences from class due to the observance of a religious holiday will normally be excused. Individual students who will have to miss class to observe a religious holiday should notify the instructor by the end of the Add/Drop period to make prior arrangements for making up any work that will be missed. The final exam period runs until ____________
ACADEMIC HONESTY
As stated in the university catalog, any student who commits an act of academic dishonesty will receive a failing grade on the work in which the dishonesty occurred. In addition, acts of academic dishonesty, irrespective of the weight of the assignment, may result in the student receiving a failing grade in the course. Instances of academic dishonesty will be reported to the Dean of Academic Affairs. A student who is reported twice for academic dishonesty is subject to summary dismissal from the University. In such a case, the Academic Council will then make a recommendation to the President, who will make the final decision.
STUDENTS WITH LEARNING OR OTHER DISABILITIES
John Cabot University does not discriminate on the basis of disability or handicap. Students with approved accommodations must inform their professors at the beginning of the term. Please see the website for the complete policy.

SCHEDULE

SessionSession FocusReading AssignmentOther AssignmentMeeting Place/Exam Dates
Weeks 1‒2Introduction to Computer Science   
Weeks 3‒4Introduction to Python and other programming languages   
Weeks 5‒6Basic data types, operations and functions   
Weeks 7‒8More data types: arrays, strings, lists, sets, dictionaries   
Weeks 9‒10Classes and object-oriented constructs   
Week 11Operating Systems' interoperability   
Week 12Regular expressions   
Week 13Data analytics   
Weeks 14‒15Graphical User Interfaces ‒ GUIs