Kyurious Minds Computer Academy Blog ADCA Course Structure

ADCA Course Structure

Table of Contents

SEMESTER – I

1.     Introduction to Information Technology (IT) 2

2.     Programming in C. 3

3.     Relational Database Management Systems (RDBMS) 4

4.     Operating Systems: 5

5.     Data Structures with C. 6

6.     Presentation/Seminar Skills. 7

7.     Practical (Programming in C) 8


SEMESTER – II

8.     Web Technology. 9

9.     Unix with Shell Programming. 9

10.        Communication Skills. 9

11.        Basic Mathematics. 9

12.        Principles of Management 9

13.        Operations Research. 9

14.        Enterprise Resource Planning (ERP) 9

15.        C# with .Net 9

 

1.    Introduction to Information Technology (IT)

This module will provide a foundational understanding of computer hardware, software, networking concepts, and the IT industry.

Learning Objectives:

  • Define Information Technology (IT) and its role in today’s world.
  • Identify the major components of a computer system – hardware, software, and firmware.
  • Understand different types of computer hardware and their functions (CPU, memory, storage, input/output devices).
  • Classify different types of computer software (system software, application software).
  • Explain basic networking concepts – LAN, WAN, internet, network protocols (TCP/IP).
  • Identify key trends and career opportunities within the IT industry.

Course Content:

·       Module 1: Introduction to IT

o   What is IT? Definition, history, and evolution of IT.

o   Impact of IT on individuals, businesses, and society.

·       Module 2: Computer Hardware

o   Components of a computer system – their functions and interaction.

o   Types of computer hardware (CPU, memory, storage devices, input/output devices).

o   Understanding basic computer hardware specifications.

·       Module 3: Computer Software

o   System software vs. application software.

o   Operating systems – Functions and common types (Windows, macOS, Linux).

o   Popular application software categories (productivity, multimedia, games).

·       Module 4: Introduction to Networking

o   Basics of computer networks (LAN, WAN, internet).

o   Network components (routers, switches, cables).

o   Introduction to network protocols (TCP/IP).

·       Module 5: IT Industry

o   Current trends and advancements in IT.

o   Emerging technologies and their impact (cloud computing, artificial intelligence).

o   Exploring career opportunities within the IT field.

Assessment:

o   Quizzes and assignments to test understanding of key concepts.

o   Midterm exam to evaluate overall knowledge acquired.

o   Final project or presentation on a chosen IT topic.

 

 

2.    Programming in C

Students will learn the fundamentals of C programming, including syntax, data types, control flow statements, functions, and arrays.

Learning Objectives:

o   Understand the basic concepts of programming and problem-solving using C.

o   Grasp C language syntax, data types (integers, floating-point, characters), and variables.

o   Utilize control flow statements (if-else, switch, loops) for decision making and repetition.

o   Design and implement functions to modularize code and improve reusability.

o   Work with arrays to store and manipulate collections of data elements.

o   Develop basic C programs to solve computational problems.

Course Content:

  • Module 1: Introduction to Programming

o   What is programming? Programming paradigms and problem-solving techniques.

o   The C programming language – history, features, and applications.

o   The development environment – setting up a compiler, editor, and IDE (Integrated Development Environment).

  • Module 2: C Programming Fundamentals

o   C program structure – preprocessor directives, main function, and code blocks.

o   Data types in C – integers, floating-point numbers, characters, and user-defined data types.

o   Variables – declaration, initialization, and data types.

o   Input/Output operations – using standard library functions (printf, scanf).

  • Module 3: Control Flow Statements

o   Conditional statements (if-else, else if) for decision making.

o   Looping statements (for, while, do-while) for repetition.

o   Nesting control flow statements for complex logic.

  • Module 4: Functions

o   Functions – definition, declaration, calling, and parameter passing.

o   Function prototypes for code organization and reusability.

o   Local and global variables – scope and lifetime.

  • Module 5: Arrays

o   Arrays – one-dimensional and multidimensional arrays for data storage.

o   Array declaration, initialization, and accessing elements.

o   Passing arrays to functions and manipulating array elements within functions.

Assessment:

  • Regular coding assignments and exercises to practice C programming concepts.
  • Midterm exam to assess understanding of core programming principles.
  • Final project – development of a C program to solve a specific problem.

 

 

3.    Relational Database Management Systems (RDBMS)

This course will introduce students to database concepts, SQL (Structured Query Language), and working with relational databases like MySQL or MS SQL Server.

Learning Objectives:

  • Understand the core concepts of relational databases and database management systems (DBMS).
  • Identify the components of a relational database – tables, columns, rows, keys, and relationships.
  • Grasp the principles of data normalization for efficient database design.
  • Write and execute SQL queries to retrieve, manipulate, and manage data in relational databases.
  • Utilize SQL for data filtering, sorting, aggregation, and joining tables.

Course Content:

  • Module 1: Introduction to Databases
    • What are databases? Importance of database management in modern applications.
    • Relational database model – tables, columns, rows, data types, and primary keys.
    • Introduction to Database Management Systems (DBMS).
  • Module 2: Database Design & Normalization
    • Entity-Relationship (ER) diagrams for database modeling.
    • Principles of data normalization (1NF, 2NF, 3NF) to minimize data redundancy.
    • Designing efficient relational database structures.
  • Module 3: Introduction to SQL
    • Structured Query Language (SQL) – an introduction to querying relational databases.
    • Basic SQL commands (SELECT, INSERT, UPDATE, DELETE) for data manipulation.
  • Module 4: Working with SQL
    • Advanced SQL concepts – WHERE clause for data filtering, ORDER BY for sorting.
    • Using SQL functions for aggregation (SUM, COUNT, AVG) and data manipulation.
    • Joining tables to retrieve data from multiple related tables.
    • Introduction to subqueries for complex data retrieval.
  • Module 5: Database Administration
    • Basic database administration tasks – creating users, granting permissions.
    • Importance of data security and access control.
    • Backing up and restoring databases.

Assessment:

  • Regular SQL practice exercises to develop query writing skills.
  • Midterm exam to assess understanding of database concepts and SQL syntax.
  • Database design project – applying normalization principles to design a database schema.
  • Final project – developing a database application using SQL to manage data for a specific scenario.

 

 

4.    Operating Systems: 

This module will cover the fundamentals of operating systems, including their functions, types (Windows, Linux, macOS), and basic administration tasks.

Learning Objectives:

  • Define the role and functions of operating systems in computer systems.
  • Identify different types of operating systems (batch, multiprogramming, multitasking, multiuser)
  • Understand the core components of an operating system – kernel, process management, memory management, file management, and device management.
  • Explore common operating systems like Windows, macOS, and Linux – their functionalities and basic user administration tasks.
  • Gain an overview of system security concepts and user management in operating systems.

Course Content:

  • Module 1: Introduction to Operating Systems
    • What is an operating system? – Definition, history, and evolution of operating systems.
    • Operating system functions – resource management, process control, user interface.
    • Types of operating systems – batch processing, multiprogramming, multitasking, multiuser.
  • Module 2: Operating System Components
    • Kernel – the core of the operating system responsible for system resources.
    • Process management – process creation, scheduling, termination, and synchronization.
    • Memory management – techniques for allocating and managing memory resources.
    • File management – file systems, organization of data storage, and file access control.
    • Device management – handling interaction with peripheral devices (printers, disks).
  • Module 3: Operating System Types and Usage
    • Common operating systems – Windows, macOS, and Linux – their functionalities and features.
    • Basic user administration tasks – creating user accounts, managing files and permissions (depending on chosen OS).
  • Module 4: Introduction to System Security
    • Importance of system security in operating systems.
    • Basic user management and access control mechanisms.
    • Understanding potential security threats and vulnerabilities (optional).

Assessment:

  • Quizzes and assignments to test knowledge of operating system concepts.
  • Midterm exam to evaluate overall understanding of core functionalities.
  • Project or presentation on a chosen operating system (focusing on functionalities or user administration).

 

 

5.    Data Structures with C

Students will delve deeper into data structures like linked lists, stacks, queues, trees, and graphs, implementing them using C programming.

Learning Objectives:

  • Understand the concept of data structures and their importance in efficient program design.
  • Explore and implement basic linear data structures in C: Array and Linked lists
  • Grasp the concept of stacks (LIFO – Last In, First Out) and implement them using arrays or linked lists.
  • Understand the concept of queues (FIFO) and implement them using arrays/linked lists.
  • Explore and implement non-linear data structures in C: Trees & Graphs

Course Content:

  • Module 1: Introduction to Data Structures
    • What are data structures? – Definition, classification (linear vs. non-linear), and their role in algorithms.
    • Choosing appropriate data structures for efficient program design.
  • Module 2: Arrays in C
    • Review of arrays – declaration, initialization, accessing elements, and traversing arrays.
    • Multidimensional arrays for storing and manipulating complex data sets.
  • Module 3: Linked Lists
    • Linked lists – concept, advantages over arrays, and dynamic memory allocation in C.
    • Implementing linked lists – creating nodes, insertion, deletion, and traversal operations.
    • Applications of linked lists (e.g., implementing stacks and queues).
  • Module 4: Stacks and Queues
    • Stacks (LIFO) – concept, operations (push, pop), and applications (e.g., function call stack).
    • Implementing stacks using arrays or linked lists.
    • Queues (FIFO) – concept, operations (enqueue, dequeue), and applications (e.g., task scheduling).
    • Implementing queues using arrays or linked lists.
  • Module 5: Trees and Graphs
    • Trees – basic concepts, binary trees, and tree terminology (root, node, leaf).
    • Tree traversal techniques – preorder, inorder, postorder.
    • Graphs – basic representation (adjacency matrix, adjacency list) and graph traversal algorithms (DFS, BFS).

Assessment:

  • Coding assignments to implement data structures (arrays, linked lists, stacks, queues, trees) in C.
  • Midterm exam to assess understanding of data structure concepts and functionalities.
  • Final project – applying chosen data structures to solve a specific programming problem.

 

 

6.    Presentation/Seminar Skills

This module will equip students with the skills to effectively present information, conduct seminars, and deliver impactful presentations.

  • Impromptu Presentations: Prepare a set of random topics (related or unrelated to the course) in a box. Students pick a topic at random and have a short time (1-2 minutes) to prepare a mini-presentation. This helps them think on their feet and organize their thoughts quickly.
  • Develop a Seminar Proposal: Students choose a topic related to the ADCA program and develop a seminar proposal outlining the target audience, learning objectives, presentation structure, and resources needed. This helps them understand the planning and preparation involved in effective seminars.
  • PowerPoint Karaoke: Divide the class into teams. Each team is presented with a pre-made PowerPoint presentation on an unfamiliar topic. They have a limited time to analyze the slides and then present them to the class in their own words. This activity encourages creative thinking, adapting to new content, and confident delivery.

·       Peer Feedback Presentations: Students deliver short presentations on chosen topics. Peers provide constructive feedback using a pre-defined rubric focusing on content, delivery, and visuals. This allows students to receive feedback and improve their presentation skills in a supportive environment.

 

 

 

7.    Practical (Programming in C)

Hands-on labs to reinforce C programming concepts learned in lectures.

Structured Labs:

  • Basic Syntax and Data Types:
    • Write programs to perform basic arithmetic operations (+, -, *, /) with different data types (integers, floats).
    • Develop programs to get user input for various data types (characters, strings) and display the entered values.
  • Control Flow Statements:
    • Create programs using if-else statements for decision making (e.g., checking if a number is even or odd).
    • Implement programs using loops (for, while, do-while) for repetition tasks (e.g., printing a series of numbers, calculating factorial).
  • Functions:
    • Write programs demonstrating function definition, calling, and parameter passing.
    • Design functions for modular tasks like calculating area (square, rectangle) or finding the average of an array.
  • Arrays:
    • Develop programs to declare, initialize, and access elements of one-dimensional arrays.
    • Create programs to manipulate arrays – searching for elements, sorting arrays (simple techniques like bubble sort).

Open-Ended Labs:

  • Mini-Games: Students design and develop simple text-based games like guessing numbers or rock-paper-scissors to practice decision making and user interaction.
  • Data Processing Programs: Create programs to read data from a file (e.g., text file with numbers), process the data (calculate sum, average), and write the results to another file.
  • Real-World Applications: Challenge students to develop C programs that simulate real-world scenarios like calculating BMI (Body Mass Index) or currency conversion.

 

 

Semester 2

8.    Web Technology

This module will introduce students to web development fundamentals, including HTML, CSS, JavaScript, and potentially, an introduction to server-side scripting (e.g., PHP).

Learning Objectives:

  • Understand the core concepts of web development and the technologies involved (HTML, CSS, JavaScript).
  • Gain hands-on experience creating and structuring web pages using HyperText Markup Language (HTML).
  • Apply Cascading Style Sheets (CSS) to style and format web page elements for visual appeal.
  • Utilize JavaScript for basic interactivity and dynamic behavior within web pages.
  • (Optional) Explore the fundamentals of server-side scripting using a language like PHP to handle form submissions and data processing.

Course Content:

  • Module 1: Introduction to Web Development
    • The World Wide Web – its history, components (browsers, servers), and basic web development concepts.
    • Client-side vs. server-side scripting and their roles in web applications.
  • Module 2: HyperText Markup Language (HTML)
    • HTML fundamentals – syntax, tags, attributes, and elements for structuring web content.
    • Creating basic HTML documents – structuring headings, paragraphs, lists, images, and hyperlinks.
    • Introducing semantic HTML – using appropriate tags to define content meaning.
  • Module 3: Cascading Style Sheets (CSS)
    • CSS fundamentals – selectors, properties, and values for styling web elements.
    • Formatting text, applying layouts (margins, padding, borders), and positioning elements.
    • Using CSS for responsive design principles (adapting webpage layout to different screen sizes).
  • Module 4: Introduction to JavaScript
    • JavaScript – its role in web development and creating interactive elements.
    • JavaScript basics – syntax, variables, data types, operators, and control flow statements.
    • Adding basic interactivity with JavaScript – event handling (clicks, form submissions) and modifying page content dynamically.
  • Module 5: (Optional) Server-Side Scripting
    • Introduction to server-side scripting concepts and their role in web development.
    • (Example) Introduction to PHP – basic syntax, variables, and connecting to databases for server-side processing (optional).
    • Understanding the concept of form processing and data validation (optional).

Assessment:

  • Regular coding assignments and exercises to practice HTML, CSS, and JavaScript skills.
  • Midterm exam to assess understanding of core web development concepts and syntax.
  • Web development project – creating a simple interactive website using HTML, CSS, and potentially JavaScript.