sameernotes commited on
Commit
14b6e5c
·
verified ·
1 Parent(s): 14fcde6

Update src/streamlit_app.py

Browse files
Files changed (1) hide show
  1. src/streamlit_app.py +434 -33
src/streamlit_app.py CHANGED
@@ -1,40 +1,441 @@
1
- import altair as alt
2
- import numpy as np
3
- import pandas as pd
4
  import streamlit as st
5
 
6
- """
7
- # Welcome to Streamlit!
8
 
9
- Edit `/streamlit_app.py` to customize this app to your heart's desire :heart:.
10
- If you have any questions, checkout our [documentation](https://docs.streamlit.io) and [community
11
- forums](https://discuss.streamlit.io).
12
 
13
- In the meantime, below is an example of what you can do with just a few lines of code:
14
- """
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
15
 
16
- num_points = st.slider("Number of points in spiral", 1, 10000, 1100)
17
- num_turns = st.slider("Number of turns in spiral", 1, 300, 31)
 
18
 
19
- indices = np.linspace(0, 1, num_points)
20
- theta = 2 * np.pi * num_turns * indices
21
- radius = indices
 
 
 
 
 
22
 
23
- x = radius * np.cos(theta)
24
- y = radius * np.sin(theta)
25
-
26
- df = pd.DataFrame({
27
- "x": x,
28
- "y": y,
29
- "idx": indices,
30
- "rand": np.random.randn(num_points),
31
- })
32
-
33
- st.altair_chart(alt.Chart(df, height=700, width=700)
34
- .mark_point(filled=True)
35
- .encode(
36
- x=alt.X("x", axis=None),
37
- y=alt.Y("y", axis=None),
38
- color=alt.Color("idx", legend=None, scale=alt.Scale()),
39
- size=alt.Size("rand", legend=None, scale=alt.Scale(range=[1, 150])),
40
- ))
 
 
 
 
1
  import streamlit as st
2
 
3
+ # Streamlit app configuration
4
+ st.set_page_config(page_title="M.Sc. (CS) Third Semester Syllabus", layout="wide")
5
 
6
+ # Title and description
7
+ st.title("M.Sc. (CS) Third Semester Syllabus")
8
+ st.write("Explore the syllabus for the Third Semester of M.Sc. (Computer Science). Select a subject to view its units and detailed topics.")
9
 
10
+ # Dictionary to store the syllabus data
11
+ syllabus = {
12
+ "Programming in Java": {
13
+ "UNIT-I": {
14
+ "Introduction": [
15
+ "History and features of Java",
16
+ "Difference between C, C++ & JAVA",
17
+ "JAVA and Internet, WWW, Web Browsers",
18
+ "Java support system, Java Environment",
19
+ "JDK, JVM, Byte code"
20
+ ],
21
+ "Java Programming Basics": [
22
+ "Structure of Java program",
23
+ "JAVA tokens and Statements",
24
+ "Constants & Variables",
25
+ "Data types",
26
+ "Operators",
27
+ "Command line arguments"
28
+ ],
29
+ "Java Statements & Arrays": [
30
+ "if and switch statement",
31
+ "while, do-while and for loops",
32
+ "Introduction to arrays, types of arrays, new operator",
33
+ "Strings, String class & its methods",
34
+ "Vectors"
35
+ ],
36
+ "Classes & Objects": [
37
+ "Specifying classes",
38
+ "Methods and fields",
39
+ "Creating objects",
40
+ "Passing objects to methods, returning objects",
41
+ "Static fields & methods",
42
+ "Constructors",
43
+ "Garbage collection",
44
+ "Overloading methods & constructors",
45
+ "this keyword"
46
+ ]
47
+ },
48
+ "UNIT-II": {
49
+ "Inheritance": [
50
+ "Specifying sub class",
51
+ "Types of inheritance",
52
+ "Visibility control: public, private, protected, package",
53
+ "super keyword",
54
+ "Overriding methods",
55
+ "Dynamic method dispatch",
56
+ "Abstract methods and classes",
57
+ "final methods & classes"
58
+ ],
59
+ "Packages & Interfaces": [
60
+ "Introduction to packages, naming conventions",
61
+ "package statement, creating packages",
62
+ "import statement, accessing package",
63
+ "Use of CLASSPATH, adding class to package, hiding classes",
64
+ "Interface, implementing interfaces, multiple interfaces"
65
+ ],
66
+ "Multithreading": [
67
+ "Creation threads",
68
+ "Extending Thread class, implements Runnable interface",
69
+ "Stopping and blocking thread",
70
+ "Thread life cycle",
71
+ "Thread priorities & Thread synchronization",
72
+ "Using Thread methods"
73
+ ]
74
+ },
75
+ "UNIT-III": {
76
+ "Exception Handling": [
77
+ "Managing errors, types of errors, exceptions",
78
+ "Syntax of exception handling code: try, catch, throw, throws and finally statements",
79
+ "Multiple catch & nested try statements"
80
+ ],
81
+ "Java Input Output": [
82
+ "Java I/O package",
83
+ "Byte/Character Stream",
84
+ "Buffered reader / writer",
85
+ "File reader / writer",
86
+ "File Sequential / Random",
87
+ "Reading numeric, character & strings data from keyboard"
88
+ ],
89
+ "Applet Programming": [
90
+ "Applet Vs. Application",
91
+ "Creating applets, life cycle",
92
+ "Local & remote applets",
93
+ "<APPLET> tag & its attributes",
94
+ "Adding applet to HTML file, Running applet"
95
+ ]
96
+ },
97
+ "UNIT-IV": {
98
+ "Abstract Windows Toolkit (AWT)": [
99
+ "Components and Graphics",
100
+ "Containers, Frames and Panels",
101
+ "Layout Managers: Border layout, Flow layout, Grid layout, Card layout",
102
+ "AWT components",
103
+ "Event delegation Model: Event source and handler, Event categories, Listeners, Interfaces",
104
+ "Controls: text box, radio buttons, checkboxes, lists, choice, command buttons, text area etc."
105
+ ],
106
+ "JDBC (Java Database Connectivity)": [
107
+ "Types of JDBC drivers",
108
+ "Writing JDBC applications",
109
+ "Types of statement objects: Statement, PreparedStatement and CallableStatement",
110
+ "Types of resultset",
111
+ "Inserting and updating records",
112
+ "JDBC and AWT"
113
+ ]
114
+ },
115
+ "UNIT-V": {
116
+ "Networking with Java": [
117
+ "Networking basics, Sockets, port",
118
+ "Internet addressing",
119
+ "java.net – networking classes and interfaces",
120
+ "Implementing TCP/IP based Server and Client"
121
+ ],
122
+ "Servlets": [
123
+ "Introduction Servlet API Overview",
124
+ "Writing and running Simple Servlet, Servlet Life cycle",
125
+ "Generic Servlet, HTTPServlet",
126
+ "ServletConfig, ServletContest",
127
+ "Writing Servlet to handle Get and Post methods"
128
+ ]
129
+ }
130
+ },
131
+ "Computer Graphics": {
132
+ "UNIT-I": {
133
+ "Overview": [
134
+ "Introduction of computer Graphics and its applications",
135
+ "Overview of Graphics systems"
136
+ ],
137
+ "Video Display Devices": [
138
+ "Raster scan display, Raster scan systems, video controller, Raster scan display processor",
139
+ "Random scan display, random scan systems",
140
+ "Color CRT monitor",
141
+ "Flat panel display"
142
+ ],
143
+ "Interactive Input Devices": [
144
+ "Logical classification of input devices",
145
+ "Keyboard, mouse, Trackball and spaceball, Joysticks, Image scanner, Light pens"
146
+ ],
147
+ "Graphics Software and Coordinates": [
148
+ "Graphics software",
149
+ "Coordinates representations",
150
+ "Graphics functions"
151
+ ]
152
+ },
153
+ "UNIT-II": {
154
+ "Algorithms": [
155
+ "Line drawing algorithms: DDA, Bresenham’s",
156
+ "Circle generating: Mid-point circle algorithm",
157
+ "Ellipse generating: Polynomials",
158
+ "Scan-line polygon fill",
159
+ "Boundary fill"
160
+ ]
161
+ },
162
+ "UNIT-III": {
163
+ "Transformations and Clipping": [
164
+ "Basic transformations: Translation, Rotation, Scaling",
165
+ "Matrix representations & homogeneous co-ordinates",
166
+ "Composite transformations: Reflection",
167
+ "Two dimensional viewing",
168
+ "Two dimensional clipping: Line, Polygon, Curve, Text",
169
+ "3D-transformation, Projection, Viewing, Clipping"
170
+ ]
171
+ },
172
+ "UNIT-IV": {
173
+ "Splines and Hidden Surfaces": [
174
+ "Spline representation: Cubic spline, Bezier curve, Bezier surfaces, Beta spline, B-spline surfaces, B-spline curve",
175
+ "Hidden surfaces",
176
+ "Hidden lines",
177
+ "Z-buffer"
178
+ ]
179
+ },
180
+ "UNIT-V": {
181
+ "Fractals and Shading": [
182
+ "Fractals geometry: Fractal generation procedure, Classification of Fractal, Fractal dimension, Fractal construction methods",
183
+ "Color models: XYZ, RGB, YIQ, CMY & HSV",
184
+ "Shading algorithms: Shading model, Illumination model, Gouraud shading, Phong shading"
185
+ ]
186
+ }
187
+ },
188
+ "LINUX": {
189
+ "UNIT-I": {
190
+ "Introduction": [
191
+ "Introduction to Multi-user System",
192
+ "Emergency and history of Unix",
193
+ "Feature and benefits, Versions of Unix"
194
+ ],
195
+ "System Structure": [
196
+ "Hardware requirements",
197
+ "Kernel and its function",
198
+ "Introduction to System calls and Shell"
199
+ ],
200
+ "File System": [
201
+ "Feature of Unix File System",
202
+ "Concept of i-node table, links",
203
+ "Commonly used commands (e.g., who, pwd, cd, mkdir, rm, ls, mv, lp, chmod, cp, grep, sed, awk, pr, lex, yacc, make)",
204
+ "Getting started (login / logout)",
205
+ "File system management, file operation, system calls, buffer cache"
206
+ ],
207
+ "Vi Editor": [
208
+ "Intro to text processing",
209
+ "Command and edit mode, invoking vi",
210
+ "Command structure, deleting and inserting line",
211
+ "Deleting and replacing character, searching strings, yanking",
212
+ "Running shell command, command macros",
213
+ "Set windows, set auto indent, set number, intro to exrc file"
214
+ ]
215
+ },
216
+ "UNIT-II": {
217
+ "Shell Programming": [
218
+ "Introduction to shell feature, wild card characters",
219
+ "I/O redirections, standard error redirection",
220
+ "System and user created shell variables, profile files",
221
+ "Pipes/tee, background processing",
222
+ "Command line arguments, command substitution, read statement",
223
+ "Conditional execution of commands",
224
+ "Special shell variables ($ #, #?, $ * etc.)",
225
+ "Shift commands",
226
+ "Loops and decision making: for, while and until",
227
+ "Choice making using case...esac",
228
+ "Decision making if...fi",
229
+ "Using test, string comparison, numerical comparison, logical operation, using expr"
230
+ ]
231
+ },
232
+ "UNIT-III": {
233
+ "Advanced Shell": [
234
+ "Features, changing the login shell",
235
+ "cshrc, login, logout files",
236
+ "Setting environment variables",
237
+ "History and alias mechanism",
238
+ "Command line arguments",
239
+ "Redirection/appending safely, noclobber, noglob, ignore eof",
240
+ "Directory stacks (pushd, popd)",
241
+ "Feature of other shell (rsh, vsh)"
242
+ ],
243
+ "Process Control": [
244
+ "Process management, process states and transition",
245
+ "Regions and control of process",
246
+ "Sleep and waking",
247
+ "Process creation, process killing",
248
+ "Signals",
249
+ "System boot and init process",
250
+ "Traps",
251
+ "Setting process priorities"
252
+ ]
253
+ },
254
+ "UNIT-IV": {
255
+ "Inter-process Communication": [
256
+ "I/O Sub system, terminal drives, disk drives",
257
+ "Messages, shared memory, semaphores",
258
+ "Memory management, swapping, demand paging"
259
+ ],
260
+ "System Calls and Unix-C Interface": [
261
+ "File handling calls: access(), open(), create(), read(), write(), close(), fseek()",
262
+ "Process control system calls: kill(), exec(), fork(), wait(), signal(), exit()",
263
+ "Comparing stdio library and calls"
264
+ ]
265
+ },
266
+ "UNIT-V": {
267
+ "System Administration": [
268
+ "Process and Scheduling",
269
+ "Security",
270
+ "Basic System Administration: Adding a User, User Passwords, Delete of a User, Adding a Group, Deleting a Group, Super User, Startup and Shutdown",
271
+ "Advanced System Administration: Managing Disk Space, Backup and Restore, Managing System Services"
272
+ ],
273
+ "Xwindows": [
274
+ "Introduction to Xwindows concept"
275
+ ]
276
+ }
277
+ },
278
+ "Image Processing": {
279
+ "UNIT-I": {
280
+ "Digital Image Fundamentals": [
281
+ "Introduction",
282
+ "An image model",
283
+ "Sampling & quantization",
284
+ "Basic relationships between Pixels",
285
+ "Imaging geometry"
286
+ ]
287
+ },
288
+ "UNIT-II": {
289
+ "Image Transforms": [
290
+ "Properties of 2 – D Fourier transform",
291
+ "FFT algorithm and other separable image transforms",
292
+ "Walsh transforms",
293
+ "Hadamard, Cosine, Haar, Slant transforms, KL transforms and their properties"
294
+ ]
295
+ },
296
+ "UNIT-III": {
297
+ "Image Enhancement": [
298
+ "Background",
299
+ "Enhancement by point processing, histogram processing",
300
+ "Spatial filtering and enhancement in frequency domain",
301
+ "Color image processing"
302
+ ],
303
+ "Image Filtering and Restoration": [
304
+ "Degradation model",
305
+ "Diagnolisation of circulant and block circulate matrices",
306
+ "Algebraic approach to restoration",
307
+ "Inverse filtering, least mean squares and interactive restoration",
308
+ "Geometric transformations"
309
+ ]
310
+ },
311
+ "UNIT-IV": {
312
+ "Image Compression": [
313
+ "Fundamentals",
314
+ "Image compression modes",
315
+ "Error free compression, lossy compression",
316
+ "Image compression standards"
317
+ ],
318
+ "Image Segmentation": [
319
+ "Detection of discontinuities, edge linking and boundary detection",
320
+ "Thresholding",
321
+ "Region – oriented segmentation",
322
+ "Use of motion in segmentation"
323
+ ]
324
+ },
325
+ "UNIT-V": {
326
+ "Representation and Description": [
327
+ "Various schemes for representation",
328
+ "Boundary descriptors",
329
+ "Regional descriptors"
330
+ ],
331
+ "Image Reconstruction": [
332
+ "Image reconstruction from Projections",
333
+ "Radon Transforms",
334
+ "Convolution/Filter back – Project Algorithms"
335
+ ]
336
+ }
337
+ },
338
+ "Object Oriented Analysis And Design": {
339
+ "UNIT-I": {
340
+ "Introduction": [
341
+ "Two views of software Developments: SSAD and OOAD",
342
+ "Why Object –Orientation?: Object and classes, Abstraction and encapsulation, Methods and Message, Interfaces, Inheritance and Polymorphism, Access Control",
343
+ "The Business case for OO Developments"
344
+ ],
345
+ "Object Oriented Methodologies": [
346
+ "Object Oriented Design – Booch",
347
+ "Object Modeling Techniques – Rumbaugh",
348
+ "Object – Oriented Analysis – Coad-Yourdan",
349
+ "Object – Oriented Software Engineering – Ivar Jacobson"
350
+ ]
351
+ },
352
+ "UNIT-II": {
353
+ "Unified Approach": [
354
+ "Diagramming and Notational Techniques using the UML",
355
+ "UML Notation",
356
+ "Analysis Diagramming Techniques (Introduction to all ten diagrams)",
357
+ "Design Diagramming Techniques",
358
+ "Generalization/Specialization, Aggregation and composition, Association, Cardinality, Navigability, Icons, relationships and adornments"
359
+ ],
360
+ "Object-Oriented Systems Development Process": [
361
+ "Rational Unified Process",
362
+ "Four Major phases: Inception, Elaboration, Construction, Transition"
363
+ ],
364
+ "Requirements Engineering": [
365
+ "Problem analysis, Understanding Stockholders need",
366
+ "Type of requirements",
367
+ "Use-case Model: Writing Requirements"
368
+ ]
369
+ },
370
+ "UNIT-III": {
371
+ "Analysis": [
372
+ "Behavioral Analysis",
373
+ "Domain Analysis or Business Object Analysis",
374
+ "Use-case Driven Object Oriented analysis: The UML approach",
375
+ "Develop use-case Model",
376
+ "Use-case Description",
377
+ "Documentation, Activity Diagram",
378
+ "Identify the classes",
379
+ "Introduction to different approaches for identifying classes: 'Noun Phrase' approach OR 'Conman Class Pattern' approach OR 'CRC' approach OR Use case Driven Approach",
380
+ "Containment and Composition, Aggregation, Inheritance",
381
+ "SubTypes and IS-A Hierarchies",
382
+ "Association and Link Relationships",
383
+ "Diagramming System Events"
384
+ ]
385
+ },
386
+ "UNIT-IV": {
387
+ "Design Phases": [
388
+ "Translating Analysis Concept into Design",
389
+ "Optimizing classes and Objects: The Multi-tiered Architecture View",
390
+ "Mapping System functions to objects",
391
+ "Object to Object Visibility",
392
+ "Collaboration Diagram",
393
+ "Sequential Diagram",
394
+ "Specification Class Diagram",
395
+ "Specifying Object Interfaces",
396
+ "Designing the Data Access layer",
397
+ "Design User Interface layer",
398
+ "Designing System Interfaces, Controls and Security"
399
+ ]
400
+ },
401
+ "UNIT-V": {
402
+ "Design Refinement": [
403
+ "Designing for Extensibility",
404
+ "Design for reusability",
405
+ "Portioning class space",
406
+ "Checking Completeness and correctness"
407
+ ],
408
+ "Persistent Object and Database Issues": [
409
+ "The Cood Data Management Domain",
410
+ "Object Persistence",
411
+ "Object-oriented Database Management System",
412
+ "Object-Oriented verses Relational Database",
413
+ "Mapping object to Relational Data structure"
414
+ ],
415
+ "Testing": [
416
+ "Introduction to Testing Strategies",
417
+ "Impact of Object Orientation on Testing",
418
+ "Testing Business Process",
419
+ "Design Matrix",
420
+ "Discovering reusable pattern"
421
+ ]
422
+ }
423
+ }
424
+ }
425
 
426
+ # Sidebar for subject selection
427
+ st.sidebar.header("Select Subject")
428
+ subject = st.sidebar.selectbox("Choose a subject:", list(syllabus.keys()))
429
 
430
+ # Display selected subject's units and topics
431
+ st.header(subject)
432
+ for unit, sections in syllabus[subject].items():
433
+ with st.expander(unit):
434
+ for section, topics in sections.items():
435
+ st.subheader(section)
436
+ for topic in topics:
437
+ st.write(f"- {topic}")
438
 
439
+ # Footer
440
+ st.markdown("---")
441
+ st.markdown("Developed using Streamlit | M.Sc. (CS) Syllabus Viewer")