JCU Logo

JOHN CABOT UNIVERSITY

COURSE CODE: "CS 160"
COURSE NAME: "Programming Concepts and Applications"
SEMESTER & YEAR: Summer Session II 2025
SYLLABUS

INSTRUCTOR: Stanislav Tiomkin
EMAIL: [email protected]
HOURS: MTWTH 3:20 PM 5:30 PM
TOTAL NO. OF CONTACT HOURS: 45
CREDITS: 3
PREREQUISITES:
OFFICE HOURS: by appointment

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 introduces students to modern computational thinking through a deep understanding of core programming concepts and hands-on problem-solving. Students will build a strong foundation in programming while gaining experience with advanced computational methods across various domains. Learning will be interactive and responsive to students' interests, fostering engagement and personalized exploration. By the end of the course, students will have the skills to analyze problems and develop effective software solutions.

LEARNING OUTCOMES:

By the end of the course, students will be able to:

  1. Use modern software development tools effectively in the programming workflow.

  2. Understand and compare different programming paradigms (e.g., procedural, object-oriented, functional).

  3. Demonstrate proficiency in essential programming concepts, including:

    • Program structure and control flow (conditionals, loops, comprehensions)

    • Elementary and user-defined data types

    • Functions and modular code design

    • Input/output operations (terminal and file-based)

    • Efficient data representation using vectors and multi-dimensional arrays

    • Common data structures such as lists, dictionaries, sets, and maps

  4. Apply programming concepts to domain-specific problems aligned with their interests. Example application areas include numerical simulation, optimization, data processing, visualization, and other topics relevant to academic and industrial software development.

 

TEXTBOOK:
NONE
REQUIRED RESERVED READING:
NONE

RECOMMENDED RESERVED READING:
NONE
GRADING POLICY
-ASSESSMENT METHODS:
AssignmentGuidelinesWeight
Assignments (Homework, in-class activities)Students will be evaluated through a combination of homework assignments and in-class activities. Detailed guidelines for each assignment will be provided, ensuring clarity on expectations, submission formats, deadlines, and grading criteria. 1. Homework Assignments * Designed to reinforce concepts learned in class. * Encourages independent problem-solving and coding practice. * Clear instructions, example outputs, and grading rubrics will be provided. 2. In-Class Activities * Hands-on coding exercises to enhance understanding. * Encourages collaboration and interactive learning. * Immediate feedback and discussions to clarify concepts. 50
Test The test is designed to help students assess their understanding of fundamental programming concepts. It will also provide an opportunity to receive constructive feedback from the instructor to support their continued learning and improvement.25
Project The course includes a project designed to assess students’ software development skills through hands-on experience in solving real-world problems. The students will work closely with the instructor throughout the project, receiving guidance and feedback at key stages. Projects will be tailored to students’ interests, with an emphasis on applying programming concepts to practical, meaningful challenges.25

-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

Tentative Course Schedule:
(Note: The final schedule may be refined during the first sessions to maximize student learning and outcomes. The course interweaves core programming concepts with extensive hands-on examples and personalized feedback, following the "learning-by-doing" approach.)

Week 1: Introduction & Foundations

  • Why and how to learn programming in the era of AI

  • Course structure, expectations, and learning goals

  • Overview of software development tools and environments

  • Introduction to programming paradigms (procedural, object-oriented, functional, etc.)

  • Trade-offs between paradigms in terms of efficiency, clarity, and flexibility

  • Program structure and the software development lifecycle (design, coding, debugging, testing, deployment)

  • Introduction to elementary data types and structures


Weeks 2–3: Core Programming Concepts and Beyond

  • Control flow: conditionals (if/else), loops, and comprehensions

  • Different types of functions and modular code design

  • Input/output: working with the terminal and files

  • User-defined data types

  • Efficient data representation with vectors and multi-dimensional arrays

  • Common data structures: lists, dictionaries, sets, maps along the operations with common operations on them and efficient programming practices


Week 4: Application & Assessment

  • Using standard libraries and basic algorithms

  • Introduction to practical applications: simulation, data processing, visualization

  • Applying learned concepts to projects aligned with student interests

  • Project planning discussions

  • Test and feedback


Week 5: Projects & Presentations

  • Project-specific topics and development support

  • Interactive sessions focused on hands-on project work

  • Final project presentations and peer/instructor feedback