0% found this document useful (0 votes)
119 views12 pages

Mumbai University B.Sc. Computer Science Syllabus

The document outlines the revised syllabus for the T.Y.B.Sc. Computer Science Applied Component at the University of Mumbai for the academic year 2024-2025. It details the course structure, including theory and practical components for two semesters, covering topics such as microprocessors, microcontrollers, and Python programming. The examination scheme and practical experiments are also specified, along with references for study materials.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
119 views12 pages

Mumbai University B.Sc. Computer Science Syllabus

The document outlines the revised syllabus for the T.Y.B.Sc. Computer Science Applied Component at the University of Mumbai for the academic year 2024-2025. It details the course structure, including theory and practical components for two semesters, covering topics such as microprocessors, microcontrollers, and Python programming. The examination scheme and practical experiments are also specified, along with references for study materials.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

UNIVERSITY OF MUMBAI

Syllabus for the [Link].


Program: [Link].
Course: Applied component
Computer Science

(Credit Based Semester and Grading System for


the academic year 2024-2025)
University of Mumbai

Syllabus for Approval


O: _____________ Title of Course [Link]. Physics

O: _____________ Eligibility As per University Ordinance

40
R: ______________ Passing Marks

No. of years/Semesters: 1 Year ( 2 Semesters)

Level: U.G.

Pattern: Semester

Status: Revised

To be implemented from Academic Year : From Academic Year: 2024-25

Chairman, Associate Dean, Dean,


Dr. [Link]
Board of Studies in Faculty of Faculty of
Physics
SEMESTER V
Theory
Advanced Microprocessor, Microcontrollers & Python No of Lectures/
USACCS501
Programing Credits Week
I Advanced 8085 Microprocessor Programming
Introduction to 8051 microcontroller , instruction
II
Units set & Programming 2 4
III Python Programming Language

IV Python Programming Language

Practicals

USACCS5P1 Microprocessors , Microcontrollers , Python Programming 2 4

SEMESTER VI
Theory

No of Lectures/
USACCS601
Credits Week
I 8051 microcontroller

II Python Programming
Units 2 4
III Python Programming
IV Python Programming

Practicals

USACC6P1 Microcontroller , Python Programming 2 4


The revised syllabus under the credit based grading system in the subject of Computer
Science (Applied Component) for Third Year [Link]. Physics (Single/Twin major subject)
will be implemented from the academic Year 2024-2025

The scheme of examination in the subject of Computer Science (Applied Component)


will be as follows:
Semester V & VI: Theory
Course Code: USACCS501 & USACS601

(A) External Examination : 75 marks


 Duration of each Theory paper will be three hours.
 Each theory paper shall consist of five questions, one from each
unit and the fifth question will be from all the units. All questions
are compulsory and will have internal choice.
SEMESTER V

Theory: Advanced 8085 Programing, Introduction to Microcontrollers &


Python Programming
Version : 3.x for Python
Unit Details Lectures

Advanced 8085 Programming and 8255(PPI)


(i) Introduction to advanced instructions and applications
Ref. RG: 10.7 (entire)

(ii) Stack and Subroutines: Stack, Subroutine


I Ref. RG: 9.1, 9.1.1, 9.2&9.2.1 15

(iii) The 8255 Programmable Peripheral Interface


Block Diagram of the 8255, Mode 0 – Simple Input or Output mode,
BSR (Bit Set/Reset Mode)
Ref. RG: 15.1.1, 15.1.2& 15.1.3
Introduction to Microcontrollers
(i) Introduction, Microcontrollers and Microprocessors, History of
Microcontrollers and Microprocessors, Block diagram of 8051
Microcontroller*, Embedded Versus External Memory Devices, 8-bit &
16-bit Microcontrollers, CISC and RISC Processors, Harvard and Von
Neumann Architectures, Commercial Microcontrollers.
Ref. AVD-Ch: 1
Ref. MMM - For * Refer 1.2 The 8051 Microcontroller & Embedded
II Systems by M.A. Mazidi, J.G. Mazidi and [Link], Second
Edition, Pearson

(ii) 8051 Microcontrollers:


Introduction, MCS-Architecture, Registers in MCS-51,8051 Pin
Description, 8051 Connections, 8051 Parallel I/O Ports, Memory
15
Organization.
AVD-Ch: 2, 3

(iii) 8051 Instruction Set and Programming:


MCS-51 Addressing Modes and Instructions:
8051 Addressing modes, MCS-51 Instruction Set, 8051 Instructions
and Simple Programs, Using Stack Pointer
AVD-Ch: 4
Ref. AVD: - Microcontrollers (Theory and Applications) by Ajay V
Deshmukh, The Tata-McGraw-Hill Companies
Ref. Intel’s 8031/8051 Data sheet
Introduction: What is a Program, The Python Programming Language,
History, features, Installing Python, Running a Python program, the first
program , Arithmetic operators , Values and types, Formal and Natural
Languages
AD: Think Python , 2nd Edition : Chapter 1

Variables , Expressions and Statements : Assignment statements , Variable


Names and Keywords, Expressions and statements , Script mode , Order of
Operations , String operations , Comments , Debugging : Syntax Errors,
Runtime Errors, Semantic Errors.
AD: Think Python , 2nd Edition : Chapter 2
III
Functions: Function basics, Function Calls, Math Functions, Composition,
Adding New Functions, Definitions and Uses, Flow of Execution, 15
Parameters and Arguments, Local variables and parameters, Stack
Diagrams, Fruitful Functions and void Functions , return values ,
composition , incremental development , Boolean functions

AD: Think Python , 2nd Edition : Chapter 3


AD: Think Python , 2nd Edition : Chapter 6 : Art : 6.1 , 6.2 , 6.3 and 6.4

Conditionals and recursion : Floor division and modulus, Boolean


expression , Logical operators, Conditional expression, Alternative
execution , chained conditionals , Nested conditionals, Recursion , Stack
diagrams for recursive functions , infinite recursion , keyboard input.
Programs on recursion

AD: Think Python , 2nd Edition : Chapter 5


AD: Think Python , 2nd Edition : Chapter 6 : Art : 6.5 ,6,6 ,6,7 & 6.8

Iterations : Reassignment , updating variables , while statement, break


statement
AD: Think Python , 2nd Edition : Chapter 7 up to 7.4
IV
Strings: A String is a Sequence, len built in function , for Loop traversal ,
String Slicing , Strings Are Immutable, Searching, Looping and Counting, 15
String Methods, The in Operator, String Comparisons.
AD: Think Python , 2nd Edition : Chapter 8

Lists: Sequences, Introduction to Lists, Lists are mutable, Traversing a List,


List operations, List Slicing, List methods, Deleting elements, Lists & Strings,
Objects & Values , Aliasing , List arguments.
AD: Think Python , 2nd Edition : Chapter 10
References:
For units I and II
RG : Ramesh Gaonkar "Microprocessor Architecture Programming and Applications
with the 8085" (RG) 5th edition Penram
AVD: Microcontrollers (Theory and Applications) by Ajay V Deshmukh, The Tata-
McGraw-Hill Companies.
Intel’s 8031/8051 Data sheet

For Units III and IV

Official Python Web site : [Link]


AD : Think Python by Allen Downey , 2nd Edition

Additional References:
1. The 8051 Microcontroller & Embedded Systems-Dr. Rajiv Kapadia (Jaico Pub. House)
2. 8051 Micro-controller by [Link], Penram International.
3. Programming & customizing the 8051 microcontroller By MykePredko, TMH.
4. The 8051 Microcontroller & Embedded Systems by M.A. Mazidi, J.G. Mazidi and
[Link], Second Edition, Pearson
5. Paul Gries, et al., Practical Programming: An Introduction to Computer Science Using
Python 3, Pragmatic Bookshelf, 2/E 2014

In addition to the reference books internet web-sites & MOOC can be used wherever
necessary.

List of Practicals
Group A: Advanced 8085 microprocessor & Microcontrollers
A1. Experiments for 8085 and 8255

Any one experiment from 1 & 2 and 3 & 4


.
1. 16-bit Data manipulation (Addition, subtraction) Display result on Address field
2. Write ALP for Addition, Subtraction of two, 8-bit hex numbers. Note: Use Read
Keyboard Utility for inputting the hex numbers and display for the result on the
Address field.
3. Interfacing 8 LEDs to 8255
(i) Write ALP to alternately flash 8 LEDs
(ii) Write ALP to display binary count in UP sequence on the 8 LEDs

4. Interfacing 8 switches and 8 LEDs to 8255


(i) Write ALP read the status of the switches and display on the LEDs.
(ii) Write ALP so that when the first switch is made ON all the LEDs should
glow and when the second switch is made OFF all the LEDs should
become off.

A2. Experiments for 8031/8051/89C51

Any two experiments from 1, 2 and 3

1. 8031/51/89C51 assembly language programming:


Simple data manipulation programs.
(8/16-bit addition, subtraction, multiplication, 8/16-bit data transfer, cubes of
nos., to rotate a 32- bit number, finding greatest/smallest number from a block of
data, decimal / hexadecimal counter)

2. Study of IN and OUT port of 8031/51/89C51 by Interfacing switches, and LEDs:


Interface 4 LEDs to one of the microcontrollers PORT.
Write ALP to display bit pattern on LED’s.
(i) 1000 (ii) 1100
0100 0110
0010 0011 continuously
0001 continuously

3. Interface 4 switches and 4 LEDs to one of the microcontrollers PORT.


Develop various types of logic to control LEDs depending on the
status/states/conditions of the 4 switches.
For example:
Write ALP such that when all four switches are ON all four LEDs should glow.
But when any two switches become OFF then all four LEDs should become OFF.
And so on……

Group B: Python Programming Exercises


B1 : Perform minimum two experiment from B1:

 Write a program to generate the Fibonacci series.


 Write a program to generate if a three digit number entered is an Armstrong
number or not
 Write a function that reverses the user defined value.
 Write a recursive function to print the factorial for a given number.

B2 : Perform minimum one experiment from B2:

 Write a function that takes a character (i.e. a string of length 1) and returns True
if it is a vowel, False otherwise.
 Define a function that computes the length of a given list or string.

B3: Perform minimum two experiments from B3:

 Write a program that takes two lists and returns True if they have at least one
common member.
 Write a Python program to print a specified list after removing the 0th, 2nd, 4th
and 5th elements.
 Write a Python program to clone or copy a list
SEMESTER VI

Theory:
Version : 3.x for Python
Unit Details Lectures
8051 microcontroller: Timer/Counters, Serial Communication, Interrupts
Programming 8051 Timers, Counter Programming, Basics of Serial Communication,
I 15
8051 Connection to RS232, 8051 Serial Port Programming in assembly, 8051
Interrupts, Programming Timer Interrupts, Programming External Hardware
Interrupts

Ref. MMM - Ch 9: 9.1, 9.2, 10.1, 10.2, 10.3, 11.1, 11.2, 11.3

Ref. MMM - The 8051 Microcontroller & Embedded Systems by M.A.


Mazidi, J.G. Mazidi and [Link], Second Edition,
Pearson

Ref. Intel’s 8031/8051 Data sheet

Dictionaries : Creating a Dictionary, Accessing Values in a dictionary,


Updating Dictionary, Deleting Elements from Dictionary, Properties of
Dictionary keys, Operations in Dictionary, Built-In Dictionary Functions,
Built-in Dictionary Methods , in operator
15
Tuples: Tuples, Accessing values in Tuples, Tuple Assignment, Tuples as
return values, Variable-length argument tuples, Basic tuples operations,
Concatenation, Repetition, in Operator, Iteration, Built-in Tuple Functions
II
Files: Text Files, The File Object Attributes, Directories

Exceptions: Built-in Exceptions, Handling Exceptions, Exception


with Arguments, User-defined Exceptions

Classes and Objects: Overview of OOP (Object Oriented Programming),


Class Definition, Creating Objects, Instances as Arguments, Instances as
return values, Built-in Class Attributes, Inheritance, Method Overriding,
III Data Encapsulation, Data Hiding
Multithreaded Programming: Thread Module, creating a thread,
synchronizing threads, multithreaded priority queue 15
Modules: Importing module, Creating and exploring modules, Math
module, Random module, Time module
Creating the GUI Form and Adding Widgets:
Widgets: Tkinter module , Label , Buttons , Checkbutton, Radiobuttons,
Text box , Canvas , Entry, Frame, Text, Menu, LabelFrame, Scrolled Text
IV Widgets , Message boxes , Spinbox . Handling Standard attributes and
Properties of Widgets.
Layout Management: Designing GUI applications with proper Layout 15
Management features.
Look and Feel Customization: Enhancing Look and Feel of GUI using
different appearances of widgets.
Storing Data in Our MySQL Database via Our GUI: Connecting to a
MySQL database from Python, Configuring the MySQL connection,
Designing the Python GUI database, Using the INSERT command, Using the
UPDATE command, Using the DELETE command, Storing and retrieving
data from MySQL database.

References:
For units I
 MMM - The 8051 Microcontroller & Embedded Systems by M.A. Mazidi,
J.G. Mazidi and [Link], Second Edition, Pearson

 Intel’s 8031/8051 Data sheet

For Units II , III and IV


 Official Python Web site : [Link]
 AD : Think Python by Allen Downey , 2nd Edition
 Paul Gries , Jenifer Campbell , Jason Montojo : Practical Programming ,
Introduction to Computer Science using Python 3 , Second Edition.
 Burkhard Meier : Python GUI Programming Cookbook , Packt Publishing

 Michael H. Goldwasser, David Letscher ,Object-oriented Programming in Python


, Michael H. Goldwasser

In addition to the reference books internet web-sites & MOOC can be used wherever
necessary.
List of Practicals
Group A: Microcontrollers

Any two experiments from the following:

1. Study of TIMER0/1 in Mode 0.


2. Study of TIMER0/1 in Mode 1.
3. Study of TIMER0/1 in Mode 2.
4. Study of External Interrupts INT0 / INT1.

Group B: Python Programming Exercises


B1 : Perform minimum two experiment from B1:

 Write a Python script to sort (ascending and descending) a dictionary by value.


 Write a Python script to concatenate following dictionaries to create a new one.
 Write a Python program to sum all the items in a dictionary.
 Write a Python program to read an entire text file.
 Write a Python program to append text to a file and display the text.
 Write a Python program to read last n lines of a file.

B2 : Perform minimum one experiment from B2:

 Design a class that store the information of student and display the same
 Implement the concept of inheritance using python
 Write a program to implement exception handling.

B3: Perform minimum two experiments from B3:

 Try to configure the widget with various options like: bg=”red”, family=”times”,
size=18
 Try to change the widget type and configuration options to experiment with
other widget types like Message, Button, Entry, Checkbutton, Radiobutton, Scale
etc.
 Design a simple database application that stores the records and retrieve the
same.
 Design a database application to search the specified record from the database.
 Design a database application to that allows the user to add, delete and modify
the records.

Common questions

Powered by AI

The 8085 microprocessor and the 8051 microcontroller differ significantly in their addressing modes and instruction sets. The 8085 microprocessor uses memory-mapped I/O and has a simpler addressing mode structure, primarily using direct and indirect addressing, with a focus on working with 8-bit operands and registers. In contrast, the 8051 microcontroller includes a broader instruction set with both direct and indirect addressing, along with special instructions for bit manipulation due to its applications in embedded systems. The 8051 offers more complex modes, including register, direct, indirect, and indexed addressing, designed for controlling hardware at a high level of integration .

Including practical experiments with the 8085 microprocessor and Python programming helps bridge the gap between theoretical concepts and real-world applications, enhancing learning outcomes. Experimentation with the 8085 microprocessor allows students to apply their understanding of basic instructions and operations in a controlled environment, reinforcing their grasp of how microprocessor functions. Similarly, Python exercises cultivate computational thinking by enabling students to implement and visualize algorithmic solutions. This dual approach of theory and practice encourages problem-solving and critical thinking, essential skills in computer science .

Students may face challenges when learning Python in this syllabus due to the broad range of topics and the depth each requires. The syllabus includes basic programming concepts such as arithmetic operators and string operations to more advanced topics like object-oriented programming and GUI development using Tkinter. Mastery of these concepts requires understanding both theory and practical application, often needing iterative practice and problem-solving skills. Additionally, students must also adapt to learning about error handling and debugging, which could be complex for novices due to the abstract thinking required .

In microcontroller education, discussing Harvard and Von Neumann architectures provides insight into different design philosophies and performance implications. Harvard architecture, used in the 8051 microcontroller, separates program memory from data memory, allowing simultaneous access which can result in faster operation and efficiency in embedded systems. Teaching this within the curriculum helps students understand its advantages in speed and simplicity over Von Neumann architecture, which integrates both memory types into a single space, potentially slowing processing speed due to shared paths for instructions and data. Understanding these differences is crucial for students selecting appropriate systems for varied applications .

Integrating GUI development and MySQL database usage in Python prepares students for industry by equipping them with skills to create interactive and data-driven applications. GUI development using Tkinter enhances user interface design proficiency, making applications accessible and user-friendly. Coupled with MySQL, students learn to manage and manipulate large datasets efficiently, a skill crucial across tech industries. This combination mirrors real-world scenarios where interactive applications require backend support, aligning educational outcomes with industry expectations for holistic software solutions and reinforcing the applicability of Python in various professional contexts .

The curriculum emphasizes error handling and debugging in Python by introducing syntax errors, runtime errors, and semantic errors, helping students identify and correct mistakes. This approach underpins critical problem-solving skills, as students learn to troubleshoot and resolve coding issues efficiently. By engaging with these materials, students enhance their logical reasoning and gain resilience in overcoming programming challenges, skills that are transferable to real-world software development tasks. Debugging practices, such as using Python's built-in debugging tools, prepare students for collaborative and independent problem-solving effectively .

Using Python and the 8085 microprocessor together offers a comprehensive understanding of programming at both high and low levels. Python provides a gateway to learning modern programming techniques, versatility in application, and ease of use, which is beneficial for beginners to develop algorithmic thinking. Conversely, the 8085 microprocessor presents an environment for understanding fundamental concepts of assembly language programming, such as memory management and hardware interfacing, crucial for embedded systems engineering. However, the challenges include balancing the depth of content across vastly different paradigms, which might be overwhelming for learners without clear instructional focus .

The T.Y.B.Sc. curriculum integrates evolving technological trends by including comprehensive studies of the 8051 microcontroller and Python programming, both of which have significant industrial applications. The curriculum covers modern microcontroller architecture, programming with CISC and RISC processing, and the use of embedded and external memory devices, reflecting current trends in hardware design. Moreover, by teaching Python, a versatile and widely-used programming language, the curriculum ensures students are prepared for various contemporary programming environments, such as data analysis, web development, and artificial intelligence .

Teaching both object-oriented and procedural programming paradigms in Python provides students with a diverse toolkit for developing robust software solutions. Object-oriented programming (OOP) encourages students to think in terms of objects and classes, fostering skills in code reuse and encapsulation, crucial for large-scale software engineering. Simultaneously, procedural programming strengthens an understanding of functions and code modularity, beneficial for systematic problem-solving approaches. This dual exposure allows students to tackle complex challenges by selecting suitable paradigms for different tasks, facilitating a comprehensive understanding of software design and application .

Including multithreading and advanced data structures such as dictionaries and tuples in the Python curriculum significantly enhances computational proficiency by introducing students to advanced programming concepts and efficient data management. Multithreading helps in understanding parallel processing, crucial for developing high-performance applications, especially in modern multi-core systems. Dictionaries and tuples enhance data handling efficiency by allowing swift access and immutable data storage, facilitating faster execution times and reducing overhead in heavy computational tasks. Such inclusion ensures students gain a comprehensive understanding of complex data manipulation and algorithm design, preparing them for tackling sophisticated software development challenges .

You might also like