-
Notifications
You must be signed in to change notification settings - Fork 2
/
core_classes.json
5033 lines (5033 loc) · 343 KB
/
core_classes.json
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
[
{
"title": "CMPE 30 - Programming Concepts and Methodology",
"units": "3 unit(s)",
"description": "Introduction to programming; overview of computer organization and introduction to software engineering. Topics include methodologies for program design, development, style, testing, and documentation; algorithms, control structures, functions, and elementary data structures. Lecture 2 hours/lab 3 hours.",
"prereqs": "No prerequisites",
"coreqs": "MATH 30 or MATH 30X or equivalent.",
"grading_type": "Letter Graded",
"note": "No additional notes"
},
{
"title": "CMPE 50 - Object-Oriented Concepts and Methodology",
"units": "3 unit(s)",
"description": "Application of object-oriented software engineering techniques to the design and development of larger programs; data abstraction, structures, classes and associated algorithms. Misc/Lab: Lecture 2 hours/lab 3 hours.",
"prereqs": "CMPE 30 with a minimum grade of C-. Computer Engineering and Software Engineering Majors only.",
"coreqs": "No corequisites",
"grading_type": "Letter Graded",
"note": "No additional notes"
},
{
"title": "CMPE 92 - International Program Studies",
"units": "1-6 unit(s)",
"description": "Study Abroad and Away transfer credit course. Study Abroad and Away provides students the opportunity to study abroad on long term programs (Exchange Programs, CSU International Programs, and International Student Exchange Programs) and short-term programs (Faculty-Led Programs and Summer School Abroad Programs) for academic credit, offering Alternative Break Programs for cultural immersion, and designing other globally focused opportunities. This course is designated as a placeholder course for Study Abroad and Away programs.",
"prereqs": "No prerequisites",
"coreqs": "No corequisites",
"grading_type": "Mixed Grading",
"note": "No additional notes"
},
{
"title": "CMPE 102 - Assembly Language Programming",
"units": "3 unit(s)",
"description": "Assembly programming; assembly-C interface; CPU and memory organization; addressing modes; arithmetic, logic and branch instructions; arrays, pointers, subroutines, stack and procedure calls; software interrupts; multiplication, division and floating point arithmetic.",
"prereqs": "CMPE 50 or CS 46B (with grade of C- or better) Sophomore or upper division standing. Allowed Declared Majors: Computer Engineering, Software Engineering.",
"coreqs": "No corequisites",
"grading_type": "Letter Graded",
"note": "No additional notes"
},
{
"title": "CMPE 110 - Electronics for Computing Systems",
"units": "3 unit(s)",
"description": "RC, RL and RLC circuit analysis, diodes and diode circuits, MOSFET and bipolar transistor I-V characteristics and circuits, CMOS logic circuits, CMOS-TTL interface, sensors and signal conditioning circuits using operational amplifiers, A/D and D/A converters, electromechanical device control. Lecture 2 hours/lab 3 hours.",
"prereqs": "EE 97 , EE 98 , MATH 33LA , all with a grade of C or better. Allowed Declared Majors: Computer Engineering and Software Engineering.",
"coreqs": "No corequisites",
"grading_type": "Letter Graded",
"note": "No additional notes"
},
{
"title": "CMPE 120 - Computer Organization and Architecture",
"units": "3 unit(s)",
"description": "Introduction to computer organization and architecture, system buses, internal memory and external memory, input/output, central processing unit CPU, instruction sets, CPU structure and function, RISC, control unit.",
"prereqs": "CMPE 50 or CS 46B (with a grade of C- or better). Computer Engineering and Software Engineering Majors Only.",
"coreqs": "No corequisites",
"grading_type": "Letter Graded",
"note": "No additional notes"
},
{
"title": "CMPE 124 - Digital Design I",
"units": "3 unit(s)",
"description": "Combinational and sequential logic theory and circuits. Emphasis on mixed logic and algorithmic state machines. Design projects using standard integrated circuit packages. Misc/Lab: Lecture 2 hours/lab 3 hours.",
"prereqs": "EE 97 and EE 98 (both with C or better). Computer Engineering or Software Engineering Majors Only.",
"coreqs": "No corequisites",
"grading_type": "Letter Graded",
"note": "No additional notes"
},
{
"title": "CMPE 125 - Digital Design II",
"units": "3 unit(s)",
"description": "Digital system building blocks, data path and control units, system-level RTL design, Verilog HDL for design and verification, contemporary design flow and methodology, lab experiments using industry standard CAD tools and field programmable gate array (FPGA) devices. Misc/Lab: Lecture 2 hours/lab 3 hours.",
"prereqs": "CMPE 124 (with grade of C- or better). Computer Engineering or Software Engineering Majors Only.",
"coreqs": "No corequisites",
"grading_type": "Letter Graded",
"note": "No additional notes"
},
{
"title": "CMPE 126 - Algorithms and Data Structure Design",
"units": "3 unit(s)",
"description": "Object-oriented data organization and representation as strings, arrays, stacks, queues, dequeues, lists, sets, trees, tables, and graphs. Sorting and searching and algorithm design and performance analysis. Lecture 2 hours/Lab 3 hours.",
"prereqs": "ENGR 10 , CMPE 50 , and MATH 42 or MATH 42X (all with a grade of C- or better). Allowed Declared Majors: Computer Engineering or Software Engineering.",
"coreqs": "No corequisites",
"grading_type": "Letter Graded",
"note": "No additional notes"
},
{
"title": "CMPE 127 - Microprocessor Design I",
"units": "3 unit(s)",
"description": "Microprocessor architecture and assembly language. Design of peripheral blocks and their interfaces to the microprocessor. Design projects using standard integrated circuit packages. Misc/Lab: Lecture 2 hours/lab 3 hours.",
"prereqs": "CMPE 124 with a grade of C- or better; Computer Engineering or Software Engineering Majors Only.",
"coreqs": "No corequisites",
"grading_type": "Letter Graded",
"note": "No additional notes"
},
{
"title": "CMPE 130 - Advanced Algorithm Design",
"units": "3 unit(s)",
"description": "Design and analysis of data structures and algorithms. Advanced tree structures, hashing, searching and sorting. Divide-and-conquer, greedy and dynamic programming algorithm design techniques.",
"prereqs": "CMPE 126 , and either ISE 130 or MATH 161A (with grades of C- or better). Computer Engineering or Software Engineering Majors Only.",
"coreqs": "No corequisites",
"grading_type": "Letter Graded",
"note": "No additional notes"
},
{
"title": "CMPE 131 - Software Engineering I",
"units": "3 unit(s)",
"description": "Why software engineering? What is software engineering? Software development lifecycle activities: project planning and management requirements analysis, requirement specification. Software design, software testing, verification, validation, and documentation. Software quality assurance and review techniques, software maintenance, team-based projects.",
"prereqs": "CMPE major: CMPE 126 (C- or better); SE major: CS 46B (C- or better); other majors: CMPE 30 , and MATH 32 or MATH 32H or MATH 32X (C- or better).",
"coreqs": "No corequisites",
"grading_type": "Letter Graded",
"note": "No additional notes"
},
{
"title": "CMPE 132 - Information Security",
"units": "3 unit(s)",
"description": "A study of computer and network security from centralized systems to distributed networks. Cryptology, vulnerabilities and controls. Firewalls, privacy enhanced e-mail, viruses and worms. Case studies will be featured.",
"prereqs": "CMPE 126 with a C- or better. Computer Engineering or Software Engineering majors only.",
"coreqs": "No corequisites",
"grading_type": "Letter Graded",
"note": "No additional notes"
},
{
"title": "CMPE 133 - Software Engineering II",
"units": "3 unit(s)",
"description": "Software Architecture, Software Technical Metrics, evaluating products, processes, and resources, improving predictions, products, processes, and resources. Advanced topics such as: Formal Methods, Software Reuse, Reengineering, Client/Server Software Engineering, Computer-Aided Software Engineering, Team-Based Projects.",
"prereqs": "CMPE 131 with a grade of C- or better.",
"coreqs": "No corequisites",
"grading_type": "Letter Graded",
"note": "No additional notes"
},
{
"title": "CMPE 135 - Object-Oriented Analysis and Design",
"units": "3 unit(s)",
"description": "Feasibility analysis and system requirements determination, object-oriented design methodology, and information systems design using object-oriented modeling techniques. Emphasis on both theoretical and practical aspects of object-oriented systems analysis and design. Team-based design project.",
"prereqs": "For SE Majors: CS 46B or for others CMPE 126 . See SJSU Catalog for detail list of prerequisites",
"coreqs": "No corequisites",
"grading_type": "Letter Graded Cross-listed with SE 135 . Computer Engineering is responsible for scheduling.",
"note": "No additional notes"
},
{
"title": "CMPE 137 - Wireless Mobile Software Engineering",
"units": "3 unit(s)",
"description": "Mobility analysis, design principles, techniques, and methods for software systems on a variety of wireless and mobile Internet based computing and communication platforms, such as advanced pocket/tablet PCs, GPS, Bluetooth, Infrared, Wi-Fi, and RFID. Design multi-disciplined mobile project.",
"prereqs": "CMPE 131 . Computer Engineering or Software Engineering Majors Only.",
"coreqs": "No corequisites",
"grading_type": "Letter Graded Cross-listed with SE 137 . Computer Engineering is responsible for scheduling.",
"note": "No additional notes"
},
{
"title": "CMPE 138 - Database Systems I",
"units": "3 unit(s)",
"description": "File organization and storage structure, database system architecture, entity relationship model, normalization techniques, SQL, relational algebra, storage organization, query processing, and concurrency control.",
"prereqs": "CMPE 126 (with a grade of C- or better). Computer Engineering or Software Engineering Majors Only.",
"coreqs": "No corequisites",
"grading_type": "Letter Graded",
"note": "No additional notes"
},
{
"title": "CMPE 139 - Fundamentals of Data Mining",
"units": "3 unit(s)",
"description": "Introduction to data management and data mining, data preprocessing, OLAP and data warehousing, frequent pattern mining and association rules, clustering, classification, web mining, web search, recommender systems, social network analysis.",
"prereqs": "CMPE 126 or CS 146 (with C- or better). Computer Engineering or Software Engineering Majors Only.",
"coreqs": "No corequisites",
"grading_type": "Letter Graded Cross-listed with SE 139 . Computer Engineering is responsible for scheduling.",
"note": "No additional notes"
},
{
"title": "CMPE 140 - Computer Architecture and Design",
"units": "3 unit(s)",
"description": "Pipelining and timing issues in CPU data-paths. Principles of RISC-type CPU instruction set and architecture. Structural, data and control hazards in a RISC processor, forwarding loops, branch mechanisms. Memory architectures in CPUs such as register files and caches. Misc/Lab: Lecture 2 hours/lab 3 hours.",
"prereqs": "CMPE 125 (with grade of C- or better), Computer Engineering or Software Engineering Majors Only.",
"coreqs": "No corequisites",
"grading_type": "Letter Graded",
"note": "No additional notes"
},
{
"title": "CMPE 142 - Operating Systems Design",
"units": "3 unit(s)",
"description": "Overview: history, concepts, system calls and structures. Management of major components: processes, memory, input/output and files. Design of system calls and device drivers for hardware dependence. Concepts of kernel and shell, file protection and interactive computation.",
"prereqs": "CMPE 102 , CMPE 126 (all with grades of C- or better). Computer Engineering or Software Engineering Majors Only.Pre/",
"coreqs": "CMPE 130 (with grade of C- or better).",
"grading_type": "Letter Graded",
"note": "No additional notes"
},
{
"title": "CMPE 146 - Real-Time Embedded System Co-Design",
"units": "3 unit(s)",
"description": "Embedded system architecture with real-time operating system including microcontrollers, interfacing techniques for industrial applications using transducers, sensors, and A/D-D/A converters. Hardware/software integration and codesign. Lecture 2 hours/Lab 3 hours.",
"prereqs": "CMPE 110 and CMPE 127 with grade of C- or better. Computer Engineering or Software Engineering Majors Only.",
"coreqs": "No corequisites",
"grading_type": "Letter Graded.",
"note": "No additional notes"
},
{
"title": "CMPE 148 - Computer Networks I",
"units": "3 unit(s)",
"description": "Comparative evaluation of network architecture, layering model, standards, protocol examples for ISO and TCP/IP layers. Network applications, transport layer protocols, Internet routing, data link and physical transmissions. Applications in world wide web, file transfer, electronic mail, peer-to-peer and other areas.",
"prereqs": "For CMPE major: CMPE 124 and CMPE 126 (with a grade of C- or better); for SE major: CMPE 120 and CS 146 (with a grade of C- or better); Computer Engineering or Software Engineering Majors Only.",
"coreqs": "No corequisites",
"grading_type": "Letter Graded",
"note": "No additional notes"
},
{
"title": "CMPE 150 - System Architecture and Electronic Design for Robotics",
"units": "3 unit(s)",
"description": "Design and architecture for generating autonomous and human-reliant robots, algorithm development for object perception, electronic design and system integration for cognitive and sensory capabilities of robots, mechanisms for actuation and mobility, fault diagnosis and self-calibration.",
"prereqs": "CMPE 110 , CMPE 124",
"coreqs": "No corequisites",
"grading_type": "Letter Graded",
"note": "No additional notes"
},
{
"title": "CMPE 152 - Compiler Design",
"units": "3 unit(s)",
"description": "Principles of lexical analysis, finite state automata and parsing; issues of variable declarations, variable types, control statements, function calls, nested scopes and efficient assembler target code.",
"prereqs": "CMPE 126 and CMPE 102 both with a C- or better",
"coreqs": "No corequisites",
"grading_type": "Letter Graded",
"note": "No additional notes"
},
{
"title": "CMPE 163 - Introduction to Computer Graphics and Augmented Reality",
"units": "3 unit(s)",
"description": "Introduction to 2D and 3D vector and pixel graphics, 2D and 3D transformations, world to viewer transformation pipeline, perspective projection, hidden line and surface removal, decoration algorithm and texture mapping, integration of pixel graphics and augmented reality, and hands-on laboratories.",
"prereqs": "CMPE 127 ; MATH 33LA or MATH 39 or EE 112 . All with a C- or better.Pre/",
"coreqs": "ENGR 100W .",
"grading_type": "Letter Graded Cross-listed with SE 163 . Computer Engineering is responsible for scheduling.",
"note": "No additional notes"
},
{
"title": "CMPE 165 - Software Engineering Process Management",
"units": "3 unit(s)",
"description": "Integrated approach to managing development within small teams; including mission statement, synthesis of design concepts, tradeoff studies, risk assessment and the interactions encountered in the optimal design, development, manufacture and test of systems.",
"prereqs": "CMPE 131 with a C- or better.",
"coreqs": "No corequisites",
"grading_type": "Letter Graded",
"note": "No additional notes"
},
{
"title": "CMPE 172 - Enterprise Software Platforms",
"units": "3 unit(s)",
"description": "Introduction to enterprise software systems. Covers network operating systems, DBMS, transaction monitors, groupware, distributed objects, system management and the Web. Covers standards such as J2EE, CORBA, SQL, JDBC, and HTTP; and emerging software technologies.",
"prereqs": "CMPE 142 or CS 149 with grade of C- or better. Computer Engineering or Software Engineering Majors Only.",
"coreqs": "No corequisites",
"grading_type": "Letter Graded",
"note": "No additional notes"
},
{
"title": "CMPE 180 - Individual Studies",
"units": "1-3 unit(s)",
"description": "Individual work in computer engineering.",
"prereqs": "Upper division standing and instructor consent. Not available to Open University Students.",
"coreqs": "No corequisites",
"grading_type": "Credit/No Credit Cross-listed with SE 180 . Computer Engineering is responsible for scheduling.",
"note": "No additional notes"
},
{
"title": "CMPE 180A - Data Structures and Algorithms in C++",
"units": "3 unit(s)",
"description": "Data representation and preprocessing, proximity, finding nearest neighbors, dimensionality reduction, exploratory analysis, association Object-oriented data organization and representation as strings, arrays, stacks, queues, dequeues, lists, sets, trees, tables, and graphs. Sorting and searching and algorithm design and performance analysis. Testing methods and data are discussed.",
"prereqs": "Admission into MS Artificial Intelligence, MS Computer Engineering or MS Software Engineering.",
"coreqs": "No corequisites",
"grading_type": "Credit/No Credit",
"note": "No additional notes"
},
{
"title": "CMPE 180B - Database Systems",
"units": "3 unit(s)",
"description": "File organization and storage structure, database system architecture, entity relationship model, normalization techniques, SQL, relational algebra, storage organization, query processing, and concurrency control.",
"prereqs": "Admission into MS Artificial Intelligence, MS Computer Engineering or MS Software Engineering.",
"coreqs": "No corequisites",
"grading_type": "Credit/No Credit",
"note": "No additional notes"
},
{
"title": "CMPE 180C - Operating Systems Design",
"units": "3 unit(s)",
"description": "History, concepts, system calls and structures. Management of major components: processes, memory, input/output and files. Design of system calls and device drivers for hardware dependence. Concepts of kernel and shell, file protection and interactive computation.",
"prereqs": "Admission into MS Computer Engineering or MS Software Engineering",
"coreqs": "No corequisites",
"grading_type": "Credit/No Credit",
"note": "No additional notes"
},
{
"title": "CMPE 180D - Digital Design and Microprocessors",
"units": "3 unit(s)",
"description": "Binary codes/number representations, binary arithmetic, combinatorial logic design with gates, logic minimization, decoders, encoders, adders; sequential logic design with latches, flip-flops, registers, counters, state machine design; basic microprocessor architectures (control/data paths) and memory subsystems, asynchronous logic (racing, glitches, timing diagrams).",
"prereqs": "Admission into MS Computer Engineering",
"coreqs": "No corequisites",
"grading_type": "Credit/No Credit",
"note": "No additional notes"
},
{
"title": "CMPE 181 - Internet of Things Platforms",
"units": "3 unit(s)",
"description": "Internet of Things (IoT) landscape, fundamentals, architecture, standards and protocols, software and hardware systems, security, and data analytics. Investigate state-of-the-art IoT platforms. Develop hands-on expertise in IoT system development.",
"prereqs": "For CMPE major: CMPE 124 and CMPE 126 , both with a C- or better; for SE major: CMPE 120 and CS 146 , both with a C- or better.",
"coreqs": "No corequisites",
"grading_type": "Letter Graded",
"note": "No additional notes"
},
{
"title": "CMPE 182 - Internet of Things Security",
"units": "3 unit(s)",
"description": "Secure Internet of Things (IoT) system design, vulnerabilities, attacks, and countermeasures, principles of privacy-by-design, secure IoT system development and lifecycle. Blockchains, distributed consensus, and identity management systems for connected devices.",
"prereqs": "CMPE 126 or CS 146 , with a C- or better.",
"coreqs": "No corequisites",
"grading_type": "Letter Graded",
"note": "No additional notes"
},
{
"title": "CMPE 183 - Cryptocurrencies and Blockchains",
"units": "3 unit(s)",
"description": "Technical aspects of cryptocurrencies, blockchains, distributed consensus, and decentralized applications. Basics of Bitcoin and Ethereum including Byzantine agreement, smart contracts and solidity as well as legal aspects, regulations and token economics.",
"prereqs": "CMPE 126 or CS 146 .",
"coreqs": "No corequisites",
"grading_type": "Letter Graded",
"note": "No additional notes"
},
{
"title": "CMPE 185 - Autonomous Mobile Robots",
"units": "3 unit(s)",
"description": "Basic concepts and algorithms for mobile robots that act autonomously in complex environments. Emphasis on mobile robot locomotion and kinematics, environment perception, probabilistic map-based localization and mapping, motion planning, and programming in Robot Operating System (ROS).",
"prereqs": "ISE 130 or MATH 161A ; and MATH 33LA ; and, CMPE 126 or CS 146 .",
"coreqs": "No corequisites",
"grading_type": "Letter Graded",
"note": "No additional notes"
},
{
"title": "CMPE 187 - Software Quality Engineering",
"units": "3 unit(s)",
"description": "Software testing and quality assurance engineering concepts, processes, models, criteria, and methods. Software unit testing, integration, function validation, system performance and reliability evaluation; Software security testing methods and tools; software quality management, control systems, standards, and evaluation metrics.",
"prereqs": "CMPE 131 with a C- or better. Computer Engineering or Software Engineering Majors Only.",
"coreqs": "No corequisites",
"grading_type": "Letter Graded",
"note": "No additional notes"
},
{
"title": "CMPE 188 - Machine Learning for Big Data",
"units": "3 unit(s)",
"description": "Introduction to machine learning and pattern recognition for big data analytics; machine learning concepts, theories, approaches, algorithms, and big data analytic applications; supervised learning unsupervised learning and learning theory.",
"prereqs": "CMPE 126 or CS 146",
"coreqs": "No corequisites",
"grading_type": "Letter Graded Cross-listed with SE 188 . Computer Engineering is responsible for scheduling.",
"note": "No additional notes"
},
{
"title": "CMPE 189 - Special Topics in Computer Engineering",
"units": "3 unit(s)",
"description": "Advanced topics in Computer Engineering. Content varies from semester to semester.",
"prereqs": "Instructor consent.",
"coreqs": "No corequisites",
"grading_type": "Letter Graded",
"note": "No additional notes"
},
{
"title": "CMPE 192 - International Program Studies",
"units": "1 unit(s)",
"description": "Study Abroad and Away transfer credit course. Study Abroad and Away provides students the opportunity to study abroad on long term programs (Exchange Programs, CSU International Programs, and International Student Exchange Programs) and short-term programs (Faculty-Led Programs and Summer School Abroad Programs) for academic credit, offering Alternative Break Programs for cultural immersion, and designing other globally focused opportunities. This course is designated as a placeholder course for Study Abroad and Away programs.",
"prereqs": "No prerequisites",
"coreqs": "No corequisites",
"grading_type": "Mixed Grading",
"note": "No additional notes"
},
{
"title": "CMPE 195A - Senior Design Project I",
"units": "2 unit(s)",
"description": "Comprehensive plan and preliminary design of a group computer/software engineering project; integration of knowledge in science, technologies and team processes; group written report and oral presentation; global and social issues in engineering; individual professional development plans. when taken as part of CMPE major sequence. Lab 6 hours.Satisfies SJSU Studies S when taken as part of CMPE major sequence.",
"prereqs": "Completion of Core General Education and upper division standing are prerequisites to all SJSU studies courses.\nFor CMPE Majors: CMPE 125 , CMPE 127 , CMPE 130 , CMPE 131 (all with a C- or better); ENGR 100W (with a grade of C or better); in good academic and major standings and graduation application on file.\nFor SE Majors: CMPE 133 , ISE 130 or MATH 161A (all with a grade of C- or better), ENGR 100W (with a grade of C or better); in good standing academic and major standings and graduation application on file.",
"coreqs": "ENGR 195A .",
"grading_type": "Letter Graded",
"note": "Meets GE Areas S and V when course is taken in combination with: CMPE 195B , ENGR 195A and ENGR 195B ."
},
{
"title": "CMPE 195B - Senior Design Project II",
"units": "3 unit(s)",
"description": "Implementation of group design project initiated in CMPE 195A; group oral presentation and written report; integrated global and social issues in engineering. Misc/Lab: Lab 9 hours.Satisfies SJSU Studies V: Cultures and Global Understanding when taken as part of CMPE major sequence.",
"prereqs": "CMPE 195A (with grade of C or better). Juniors and Seniors only. Allowed declared majors: Computer Engineering, Engineering, Software Engineering.",
"coreqs": "ENGR 195B",
"grading_type": "Letter Graded",
"note": "Meets GE Areas S and V when course is taken in combination with: CMPE 195A , ENGR 195A and ENGR 195B . All SJSU Studies courses require completion of the WST and upper division standing."
},
{
"title": "CMPE 195E - Senior Design Project I",
"units": "1 unit(s)",
"description": "Comprehensive plan and preliminary design of a group computer/software engineering project; integration of knowledge in science, technologies and team processes; group written report and oral presentation; individual professional development plans.",
"prereqs": "For CMPE Majors: CMPE 125 , CMPE 127 , CMPE 130 , CMPE 131 (all with a C- or better); ENGR 100W (with a grade of C or better); in good academic and major standings and graduation application on file. For SE Majors: CMPE 133 , ISE 130 or MATH 161A (all with a grade of C- or better), ENGR 100W (with a grade of C or better); in good standing in the major, graduation application on file.",
"coreqs": "No corequisites",
"grading_type": "Letter Graded",
"note": "No additional notes"
},
{
"title": "CMPE 195F - Senior Design Project II",
"units": "3 unit(s)",
"description": "Implementation of group design project initiated in CMPE 195E ; group oral presentation and written report. Lab 9 hours.",
"prereqs": "CMPE 195A (grade of C or better); in good academic and major standings.",
"coreqs": "No corequisites",
"grading_type": "Letter Graded",
"note": "No additional notes"
},
{
"title": "CMPE 198 - Technology and Civilization",
"units": "3 unit(s)",
"description": "History, development, and use of technology in different cultures. Technologys impact on society, global environment, the workplace, cultural values, gender roles, and newly industrialized countries of the world. Satisfies SJSU Studies V: Cultures and Global Understanding.",
"prereqs": "Completion of Core General Education and upper division standing are prerequisites to all SJSU studies courses. Completion of, or co-registration in, 100W is strongly recommended.",
"coreqs": "No corequisites",
"grading_type": "Letter Graded Cross-listed with ENGR 198 / ME 198 / TECH 198 . Technology is responsible for scheduling. Sustainability Related - SDG 9: Industry, Innovation and Infrastructure",
"note": "No additional notes"
},
{
"title": "CMPE 200 - Computer Architecture",
"units": "3 unit(s)",
"description": "Computer design overview, processor instruction set architecture and microarchitecture, instruction-level parallelism, memory hierarchy, storage and I/O systems, multicore/multiprocessor and data/thread-level parallelism, introduction to parallel programming.",
"prereqs": "CMPE 180D or instructor consent. Artificial Intelligence or Computer Engineering or Software Engineering majors only.",
"coreqs": "No corequisites",
"grading_type": "Letter Graded",
"note": "No additional notes"
},
{
"title": "CMPE 202 - Software Systems Engineering",
"units": "3 unit(s)",
"description": "Integrated approach to software design and development including requirements elicitation and analysis, system design and construction through studying multiple facets of software development processes, design methodologies, modeling approaches, and implementation techniques.",
"prereqs": "Classified graduate standing or instructor consent. Artificial Intelligence or Computer Engineering or Software Engineering majors only.",
"coreqs": "No corequisites",
"grading_type": "Letter Graded",
"note": "No additional notes"
},
{
"title": "CMPE 206 - Computer Network Design",
"units": "3 unit(s)",
"description": "Network topology and queuing theory. The seven layers of the ISO reference model: physical, data link, network, transport, session, presentation and application. Example networks. Network design project.",
"prereqs": "Classified standing, or instructor consent. Allowed Declared Majors: Artificial Intelligence, Computer Engineering or Software Engineering majors only.",
"coreqs": "No corequisites",
"grading_type": "Letter Graded",
"note": "No additional notes"
},
{
"title": "CMPE 207 - Network Programming and Application",
"units": "3 unit(s)",
"description": "Development and implementation of networking software for building distributed applications. Application Programming Interfaces: BSD Sockets, Winsock, Remote Procedure Call and Middleware. Network programming project.",
"prereqs": "CMPE 206 , or instructor consent.",
"coreqs": "No corequisites",
"grading_type": "Letter Graded",
"note": "No additional notes"
},
{
"title": "CMPE 208 - Network Architecture and Protocols",
"units": "3 unit(s)",
"description": "In-depth study of the principles and architecture of Internet protocols in current practice. Analysis of protocols of network, transport, and application layers. Topics will also cover emerging network architecture and protocols. Network analysis project..",
"prereqs": "CMPE 206 or instructor consent.",
"coreqs": "No corequisites",
"grading_type": "Letter Graded",
"note": "No additional notes"
},
{
"title": "CMPE 209 - Network Security and Applications",
"units": "3 unit(s)",
"description": "Network security protocols and applications, cryptography algorithms, authentication systems, intrusion detection and response systems, network attacks and defenses, system security including malware analysis, and building of secure systems.",
"prereqs": "CMPE 206 , EE 281 , or instructor consent. Computer Engineering or Software Engineering or Artificial Intelligence or Electrical Engineering majors only.",
"coreqs": "No corequisites",
"grading_type": "Letter Graded",
"note": "No additional notes"
},
{
"title": "CMPE 210 - Software-defined Networks and Network Functions Virtualization",
"units": "3 unit(s)",
"description": "The course covers development and implementation of Software-defined Networks and Network Functions Virtualization for building programmable network applications. It includes their concepts with various use cases. Students conduct a network programming project related to SDN/NFV by using open source projects.",
"prereqs": "CMPE 206 (or equivalent graduate network courses) or instructor consent.",
"coreqs": "No corequisites",
"grading_type": "Letter Graded",
"note": "No additional notes"
},
{
"title": "CMPE 211 - Advanced Network Security in IoT",
"units": "3 unit(s)",
"description": "Advanced security topics in the Internet of things (IoT). SDN/NFV(Software Defined Networking and Network Function Virtualization) and blockchain to defend against IoT attacks and protect IoT infrastructure. Network security protocols and applications, intrusion detection, network attacks and defenses, and system-level security issues.",
"prereqs": "CMPE 206 or Instructor Consent",
"coreqs": "No corequisites",
"grading_type": "Letter Graded",
"note": "No additional notes"
},
{
"title": "CMPE 212 - System Verification",
"units": "3 unit(s)",
"description": "Introduction to SoC system configuration and integration; on chip protocols; assertion based verification; code and functional coverage metrics; methodologies, tools, and environments for functional verification of special function blocks (IPs) and integrated SoC-based computer systems.",
"prereqs": "CMPE 200 and CMPE 264 or instructor consent.",
"coreqs": "No corequisites",
"grading_type": "Letter Graded",
"note": "No additional notes"
},
{
"title": "CMPE 213 - Parallel Computing",
"units": "3 unit(s)",
"description": "How to effectively program parallel computers, from smartphones to large clusters. Types of parallel architectures, routing, communication operations, parallel programming models, performance analysis, parallel algorithms for sparse matrix and graph problems, load balancing, advanced topics. Applications to Big Data Analytics.",
"prereqs": "Classified graduate standing or instructor consent",
"coreqs": "No corequisites",
"grading_type": "Letter Graded",
"note": "No additional notes"
},
{
"title": "CMPE 214 - GPU Architecture and Programming",
"units": "3 unit(s)",
"description": "Explores state-of-the-art parallel architecture and various parallel programming techniques. Investigate the architectural difference between CPU and various parallel architectures including GPU, programming basics of parallel platforms such as CUDA, optimization and debugging techniques.",
"prereqs": "CMPE 140 or CMPE 200",
"coreqs": "No corequisites",
"grading_type": "Letter Graded",
"note": "No additional notes"
},
{
"title": "CMPE 217 - Human Computer Interaction",
"units": "3 unit(s)",
"description": "Human performance characteristics, computational tools, and HCI applications. How to access/evaluate HCI requirements, to design HCI requirements, to assess the impact of design on performance, and to generalize the design implication to system function.",
"prereqs": "No prerequisites",
"coreqs": "No corequisites",
"grading_type": "Letter Graded Cross-listed with ISE 217 . Industrial and Systems Engineering is responsible for scheduling.",
"note": "No additional notes"
},
{
"title": "CMPE 219 - HCI for Cyber Security",
"units": "3 unit(s)",
"description": "The course covers HCI in cyber security that include: authentication and access control, trust, user privacy and data protections, cyber security in social networking, data protection and security in healthcare , cyber security in eCommerce, mobile, computing & cloud computing, compliance and regulation, visualization tools and techniques in cyber security and privacy.",
"prereqs": "Graduate Standing.",
"coreqs": "No corequisites",
"grading_type": "Letter Graded Cross-listed with ISE 219 / PSYC 219 . Industrial and Systems Engineering is responsible for scheduling.",
"note": "No additional notes"
},
{
"title": "CMPE 220 - System Software",
"units": "3 unit(s)",
"description": "System software overview, assemblers, macro-assemblers, loaders and linkers, compilers and operating systems. Design project.",
"prereqs": "CMPE 180A and CMPE 180C , or classified standing. Artificial Intelligence or Computer Engineering or Software Engineering majors only.",
"coreqs": "No corequisites",
"grading_type": "Letter Graded",
"note": "No additional notes"
},
{
"title": "CMPE 226 - Database Systems",
"units": "3 unit(s)",
"description": "Database architectures, technologies, and practices for enterprise systems that use structured, semi-structured, and unstructured data. Provides opportunities to research and acquire experience using modern and emerging concepts in relational and non-relational database theory and technologies.",
"prereqs": "CMPE 272 or instructor consent. Artificial Intelligence or Computer Engineering or Software Engineering majors only.",
"coreqs": "No corequisites",
"grading_type": "Letter Graded",
"note": "No additional notes"
},
{
"title": "CMPE 235 - Mobile Software System Design",
"units": "3 unit(s)",
"description": "Study of wireless-based software systems in design and engineering, underlying networks, infrastructures and frameworks, wireless security, mobile user security & privacy (i.e. biometric security), emergent mobile programming platforms and technologies (such as RFID/Barcode/NFC), mobile commerce and service application systems.",
"prereqs": "CMPE 220 or CMPE 202 or instructor consent. Artificial Intelligence or Computer Engineering or Software Engineering majors only.",
"coreqs": "No corequisites",
"grading_type": "Letter Graded",
"note": "No additional notes"
},
{
"title": "CMPE 240 - Advanced Computer Design",
"units": "3 unit(s)",
"description": "Architecture of a computing system including system bus, memory subsystems and peripherals. Unidirectional and bidirectional bus architectures. SRAM, SDRAM and FLASH memories. Design of DMA, interrupt controller, transmitter/receiver, timer, display adapter, A/D and D/A converters and other system peripherals. Design of memory and peripheral bus interfaces.",
"prereqs": "CMPE 180D or instructor consent. Artificial Intelligence or Computer Engineering or Software Engineering majors only.",
"coreqs": "No corequisites",
"grading_type": "Letter Graded",
"note": "No additional notes"
},
{
"title": "CMPE 242 - Embedded Hardware Design",
"units": "3 unit(s)",
"description": "Advanced topics dealing with microprocessor and microcontroller hardware and firmware including processor architecture, advanced memory and I/O systems design, multilevel bus architecture, interrupt systems. Design project.",
"prereqs": "CMPE 180A and CMPE 180D , classified standing, or instructor consent. Artificial Intelligence or Computer Engineering or Software Engineering majors only.",
"coreqs": "No corequisites",
"grading_type": "Letter Graded",
"note": "No additional notes"
},
{
"title": "CMPE 243 - Embedded Systems Applications",
"units": "3 unit(s)",
"description": "Embedded system interfacing techniques; peripheral devices; discussion of industrial, telecommunication, automotive, medical, and consumer applications of embedded systems. Design project.",
"prereqs": "CMPE 180A and CMPE 180D , classified standing, or instructor consent. Artificial Intelligence or Computer Engineering or Software Engineering majors only.",
"coreqs": "No corequisites",
"grading_type": "Letter Graded",
"note": "No additional notes"
},
{
"title": "CMPE 244 - Embedded Software",
"units": "3 unit(s)",
"description": "Experiments dealing with advanced embedded software programming concepts, interfacing techniques, hardware organization, and software development using embedded systems. Individual projects.",
"prereqs": "CMPE 180A and CMPE 180D , classified standing, or instructor consent. Artificial Intelligence or Computer Engineering or Software Engineering majors only.",
"coreqs": "No corequisites",
"grading_type": "Letter Graded",
"note": "No additional notes"
},
{
"title": "CMPE 245 - Embedded Wireless Architecture",
"units": "3 unit(s)",
"description": "Embedded wireless architecture with basic communication protocols and hands-on labs with state of the art embedded system development tools.",
"prereqs": "CMPE 180A and CMPE 180D , classified standing, or instructor consent. Artificial Intelligence or Computer Engineering or Software Engineering majors only.",
"coreqs": "No corequisites",
"grading_type": "Letter Graded",
"note": "No additional notes"
},
{
"title": "CMPE 246 - Interface Design in Embedded Systems",
"units": "3 unit(s)",
"description": "Oscillator configuration, parallel and serial I/O port initialization and interface building techniques with Microchip DSP microcontrollers. Integration of external memory blocks, MEMS sensors, MEMS microphone, ADC, DAC and image recognition camera to achieve a specific system functionality. Servo motor, stepper motor and brushless motor interface designs and control. Design specification and development with Microchip MPLABX design tools.",
"prereqs": "CMPE 180A and CMPE 180D , classified standing, or instructor consent.",
"coreqs": "No corequisites",
"grading_type": "Letter Graded",
"note": "No additional notes"
},
{
"title": "CMPE 249 - Intelligent Autonomous Systems",
"units": "3 unit(s)",
"description": "Introduction to autonomous systems and intelligent solutions for self-driving cars, advanced topics in multi-modal sensing, sensor fusion, AI computing, mapping, deep learning, object detection, perception, localization, prediction, path planning, control, reinforcement learning, and Robotic Operating System (ROS).",
"prereqs": "CMPE 252 or CMPE 257 or instructor consent.",
"coreqs": "No corequisites",
"grading_type": "Letter Graded",
"note": "No additional notes"
},
{
"title": "CMPE 252 - Artificial Intelligence and Data Engineering",
"units": "3 unit(s)",
"description": "Introduction to important concepts and techniques from the fields of artificial intelligence, evolution of AI systems, intelligent agents, problem solving by searching, machine learning, neural networks, reinforcement learning, and knowledge representation. The data engineering and science process is covered as well as applications of AI and ethical considerations.",
"prereqs": "Classified graduate standing.",
"coreqs": "No corequisites",
"grading_type": "Letter Graded",
"note": "No additional notes"
},
{
"title": "CMPE 255 - Data Mining",
"units": "3 unit(s)",
"description": "Data representation and preprocessing, proximity, finding nearest neighbors, dimensionality reduction, exploratory analysis, association analysis and sequential patterns, supervised learning: model selection and evaluation, overfitting, clustering, advanced topics.",
"prereqs": "CMPE 180A , classified standing, or instructor consent. Artificial Intelligence or Computer Engineering or Software Engineering majors only.",
"coreqs": "No corequisites",
"grading_type": "Letter Graded",
"note": "No additional notes"
},
{
"title": "CMPE 256 - Advanced Data Mining",
"units": "3 unit(s)",
"description": "Data mining and machine learning algorithms and applications for big data. Recommender systems, ranking and evaluation, graph mining, social network analysis, sentiment analysis, advanced topics.",
"prereqs": "CMPE 180A , classified standing, or instructor consent. Artificial Intelligence or Computer Engineering or Software Engineering majors only.",
"coreqs": "No corequisites",
"grading_type": "Letter Graded",
"note": "No additional notes"
},
{
"title": "CMPE 257 - Machine Learning",
"units": "3 unit(s)",
"description": "Machine learning concepts, feasibility and learning types, theory of generalization, bias and variance, linear models for classification and regression, nonlinear transformation, regularization and validation, kernel methods, radial basis functions, support vector machines, ensemble methods, neural networks, and hands-on projects.",
"prereqs": "CMPE 180A , classified standing, or instructor consent. Artificial Intelligence or Computer Engineering or Software Engineering majors only.",
"coreqs": "No corequisites",
"grading_type": "Letter Graded",
"note": "No additional notes"
},
{
"title": "CMPE 258 - Deep Learning",
"units": "3 unit(s)",
"description": "Deep neural networks and their applications to various problems, e.g., speech recognition, image segmentation, and natural language processing. Covers underlying theory, the range of applications to which it has been applied, and learning from very large data sets.",
"prereqs": "CMPE 255 or CMPE 257 or instructor consent. Artificial Intelligence or Computer Engineering or Software Engineering majors only.",
"coreqs": "No corequisites",
"grading_type": "Letter Graded",
"note": "No additional notes"
},
{
"title": "CMPE 259 - Natural Language Processing",
"units": "3 unit(s)",
"description": "Theory, design, and implementation of Natural Language Processing (NLP) systems. Topics include language representation and modeling, sequence modeling, Hidden Markov Models, probabilistic context-free grammars, Bayesian networks, Conditional Random Fields, and deep learning architectures for sequence processing.",
"prereqs": "CMPE 252 or CMPE 255 or CMPE 257 , or instructor consent. Artificial Intelligence, Computer Engineering, and Software Engineering Masters students only.",
"coreqs": "No corequisites",
"grading_type": "Letter graded.",
"note": "No additional notes"
},
{
"title": "CMPE 260 - Reinforcement Learning",
"units": "3 unit(s)",
"description": "Reinforcement Learning (RL) and Deep Reinforcement Learning (DRL). Topics include RL formalism, Markov decision process, Deep Q-Network, and reinforcement learning programming platforms. Also covered are relevant applications of RL in various fields.",
"prereqs": "CMPE 252 or CMPE 255 or CMPE 257 or instructor consent.",
"coreqs": "No corequisites",
"grading_type": "Letter Graded",
"note": "No additional notes"
},
{
"title": "CMPE 264 - Advanced Digital and Computing System Design",
"units": "3 unit(s)",
"description": "Advanced topics in register-transfer-level design of complex digital functional blocks, application-specific instruction set processors, and system-level integration/validation using Verilog/VHDL/C-level hardware description languages.",
"prereqs": "CMPE 200 or instructor consent.",
"coreqs": "No corequisites",
"grading_type": "Letter Graded",
"note": "No additional notes"
},
{
"title": "CMPE 265 - High Speed Digital System Design",
"units": "3 unit(s)",
"description": "Introduction to high speed interface design techniques and analyzing high speed circuits utilizing latest modeling and simulation tools to provide necessary knowledge for the printed circuit board layout.",
"prereqs": "CMPE 200 or instructor consent.",
"coreqs": "No corequisites",
"grading_type": "Letter Graded",
"note": "No additional notes"
},
{
"title": "CMPE 266 - Big Data Engineering and Analytics",
"units": "3 unit(s)",
"description": "New big data related technologies, architecture, tool, algorithms and analytics to manage and extract values and hidden knowledge from data whose scale, diversity, speed and complexity are big.",
"prereqs": "CMPE 272 or Instructor Consent",
"coreqs": "No corequisites",
"grading_type": "Letter Graded",
"note": "No additional notes"
},
{
"title": "CMPE 270 - Information Engineering",
"units": "3 unit(s)",
"description": "Technologies, strategies and systems for planning, analyzing, designing and implementing data resources in order to ensure and continuously improve processes in the enterprise; object-oriented development, Computer-Aided Software/Systems Engineering (CASE); information superhighway, client/server computing and distributed database management systems. Satisfies GWAR: Graduation Writing Assessment Requirement.",
"prereqs": "CMPE 30 or instructor consent. Allowed Declared Majors: Any Engineering.",
"coreqs": "No corequisites",
"grading_type": "Letter Graded",
"note": "This course satisfies graduate-level GWAR in this masters program. Cross-listed with ISE 270 . Industrial and Systems Engineering is responsible for scheduling."
},
{
"title": "CMPE 272 - Enterprise Software Platforms",
"units": "3 unit(s)",
"description": "Enterprise software, system and virtualized platforms. OSs, NOS, security, databases (OLTP, big data, analytics), transactions, groupware, components, web services, web, systems management, and app development. Standards and emerging technologies.",
"prereqs": "Artificial Intelligence or Computer Engineering or Software Engineering majors or instructor consent.",
"coreqs": "No corequisites",
"grading_type": "Letter Graded",
"note": "No additional notes"
},
{
"title": "CMPE 273 - Enterprise Distributed Systems",
"units": "3 unit(s)",
"description": "Introduction to application protocols for large scale distributed systems including object request brokers, asynchronous messaging, and Web services. Lab is based on using protocols to build distributed systems.",
"prereqs": "Java programming or instructor consent. Artificial Intelligence or Computer Engineering or Software Engineering majors only.",
"coreqs": "CMPE 272",
"grading_type": "Letter Graded",
"note": "No additional notes"
},
{
"title": "CMPE 274 - Business Intelligence Technologies",
"units": "3 unit(s)",
"description": "This course covers technologies that are key to delivering business intelligence to an enterprise. The goal of business intelligence is to analyze and mine business data to understand and improve business performance by transforming business data into information into knowledge.",
"prereqs": "CMPE 272 or instructor consent. Computer Engineering and Software Engineering majors only.",
"coreqs": "No corequisites",
"grading_type": "Letter Graded",
"note": "No additional notes"
},
{
"title": "CMPE 275 - Enterprise Application Development",
"units": "3 unit(s)",
"description": "Distributed component design, scalability, messaging, and integration practices for modern and emerging architectures and technologies.",
"prereqs": "CMPE 273 or instructor consent. Computer Engineering and Software Engineering majors only.",
"coreqs": "No corequisites",
"grading_type": "Letter Graded",
"note": "No additional notes"
},
{
"title": "CMPE 277 - Smartphone Application Development",
"units": "3 unit(s)",
"description": "Architectures, technologies, and programming concepts for developing smartphone applications. Covers current smartphone/tablet OSs, application development, and deployment environments.",
"prereqs": "Classified graduate standing or instructor consent. Computer Engineering and Software Engineering majors only.",
"coreqs": "No corequisites",
"grading_type": "Letter Graded",
"note": "No additional notes"
},
{
"title": "CMPE 279 - Software Security Technologies",
"units": "3 unit(s)",
"description": "Fundamental concepts, methods, and tools used to design and implement software security technologies for constructing trustworthy centralized, distributed, or enterprise-wide software systems.",
"prereqs": "No prerequisites",
"coreqs": "CMPE 272 or CMPE 220 or instructor consent.",
"grading_type": "Letter Graded",
"note": "No additional notes"
},
{
"title": "CMPE 280 - Web UI Design and Development",
"units": "3 unit(s)",
"description": "Web User-interface (UI) design and development with contemporary web standards. Understand interaction and interface design principles and processes for rich web applications, mobile web, web graphics, web design fundamentals, tools, interaction using client side scripting and server side frameworks.",
"prereqs": "Classified graduate standing or instructor consent. Computer Engineering and Software Engineering majors only.",
"coreqs": "No corequisites",
"grading_type": "Letter Graded",
"note": "No additional notes"
},
{
"title": "CMPE 281 - Cloud Technologies",
"units": "3 unit(s)",
"description": "Cloud computing concepts, evolution, architectures, infrastructures, opportunities, risks, enterprise adoption strategies, standards and policies, Software-as-a-Service (SaaS), Platform-as-a-Service (PaaS), Infrastructure-as-a-Service (IaaS), modern cloud computing technologies and tools, case studies and team projects.",
"prereqs": "No prerequisites",
"coreqs": "CMPE 272 or instructor consent. Computer Engineering and Software Engineering majors only.",
"grading_type": "Letter Graded",
"note": "No additional notes"
},
{
"title": "CMPE 282 - Cloud Services",
"units": "3 unit(s)",
"description": "Cloud service architecture and layering, administrative issues, resiliency and security considerations; business development, operations and business support service, case studies and team projects.",
"prereqs": "CMPE 281 or instructor consent. Computer Engineering and Software Engineering majors only.",
"coreqs": "No corequisites",
"grading_type": "Letter Graded",
"note": "No additional notes"
},
{
"title": "CMPE 283 - Virtualization Technologies",
"units": "3 unit(s)",
"description": "Virtualization concepts, components and infrastructure, hardware and software virtualization, virtualization machine life cycle management, virtualization services, case studies, and team projects.",
"prereqs": "No prerequisites",
"coreqs": "CMPE 272 or instructor consent. Computer Engineering and Software Engineering majors only.",
"grading_type": "Letter Graded",
"note": "No additional notes"
},
{
"title": "CMPE 284 - Storage and Network Virtualization",
"units": "3 unit(s)",
"description": "Network and storage technologies, network virtualization and storage virtualization, including virtual local area networks, load balancers, firewalls, virtual private networks, network attached storage and storage area networks, case studies, and team projects.",
"prereqs": "CMPE 283 or instructor consent. Computer Engineering and Software Engineering majors only.",
"coreqs": "No corequisites",
"grading_type": "Letter Graded",
"note": "No additional notes"
},
{
"title": "CMPE 285 - Software Engineering Processes",
"units": "3 unit(s)",
"description": "Software system development with emerging software engineering processes and technologies; planned and agile development processes, processes of Service-Oriented Architecture; component-based, Web-based, mobile based, event programming, wireless, user interface, and database access technologies.",
"prereqs": "No prerequisites",
"coreqs": "CMPE 202 or CMPE 220 or instructor consent. Computer Engineering and Software Engineering majors only.",
"grading_type": "Letter Graded",
"note": "No additional notes"
},
{
"title": "CMPE 286 - Internet of Things",
"units": "3 unit(s)",
"description": "Designed to give an overview of Internet of Things (IoT) as well as associated foundations including model layers, key performance characteristics, key requirements for communication over the Internet, sensing technologies, constrained devices, protocol stacks, and the IoT service platform.",
"prereqs": "MSSE graduate standing or instructor consent.",
"coreqs": "No corequisites",
"grading_type": "Letter Graded",
"note": "No additional notes"
},
{
"title": "CMPE 287 - Software Quality Assurance and Testing",
"units": "3 unit(s)",
"description": "Software testing concepts, processes, models, criteria, and methods; software unit testing, integration, function validation, system performance measurement, and reliability evaluation; software security testing methods, assurance criteria, and validation tools; software security assurance process, standards, techniques, and case study.",
"prereqs": "No prerequisites",
"coreqs": "CMPE 202 or CMPE 220 or instructor consent. Computer Engineering and Software Engineering majors only.",
"grading_type": "Letter Graded",
"note": "No additional notes"
},
{
"title": "CMPE 292 - International Program Studies",
"units": "1-9 unit(s)",
"description": "Study Abroad and Away transfer credit course. Study Abroad and Away provides students the opportunity to study abroad on long term programs (Exchange Programs, CSU International Programs, and International Student Exchange Programs) and short-term programs (Faculty-Led Programs and Summer School Abroad Programs) for academic credit, offering Alternative Break Programs for cultural immersion, and designing other globally focused opportunities. This course is designated as a placeholder course for Study Abroad and Away programs.",
"prereqs": "No prerequisites",
"coreqs": "No corequisites",
"grading_type": "Mixed Grading",
"note": "No additional notes"
},
{
"title": "CMPE 294 - Computer Engineering Seminar",
"units": "3 unit(s)",
"description": "Provides graduate students with a background to conduct research, write proposals and present results in oral and written form. Satisfies GWAR: Graduation Writing Assessment Requirement.",
"prereqs": "Instructor consent.",
"coreqs": "No corequisites",
"grading_type": "Letter Graded",
"note": "This course satisfies graduate-level GWAR in this masters program."
},
{
"title": "CMPE 294A - Cyber Security Seminar",
"units": "3 unit(s)",
"description": "Provides graduate students with the background and capability to conduct research and write technical reports in the area of cyber security",
"prereqs": "Instructor consent",
"coreqs": "No corequisites",
"grading_type": "Letter Graded",
"note": "No additional notes"
},
{
"title": "CMPE 295A - Master Project I",
"units": "3 unit(s)",
"description": "Comprehensive plan and preliminary design of a computer/software engineering project; integration of knowledge in technologies, processes and management to support program outcomes. Lab 9 hours.",
"prereqs": "Classified status, good standing, completion of at least 15 units of graduation degree credit, completion of two degree core courses and at least one specialization course, and graduate director consent.",
"coreqs": "No corequisites",
"grading_type": "Letter Graded",
"note": "No additional notes"
},
{
"title": "CMPE 295B - Master Project II",
"units": "3 unit(s)",
"description": "Completion of an in-depth project to achieve the program outcomes and satisfy the cumulating experience; write a detailed project report; make a comprehensive presentation and demonstration. Lab 9 hours.",
"prereqs": "CMPE 295A (with a B or better) or CMPE 295W (with a B or better), completion of all degree core courses and two specialization courses from the same specialization, advancement to candidacy, and graduate director consent.",
"coreqs": "No corequisites",
"grading_type": "Letter Graded",
"note": "No additional notes"
},
{
"title": "CMPE 295W - Masters Project",
"units": "3 unit(s)",
"description": "In-depth developmental engineering work relating to problems of interest. Project includes proposal formulation, analysis, design, implementation, and testing. 9 hours lab.Satisfies GWAR: Graduation Writing Assessment Requirement.",
"prereqs": "Completed degree and specialization core requirements, classified status, in good standing and graduate advisor consent.",
"coreqs": "No corequisites",
"grading_type": "Letter Graded",
"note": "This course satisfies graduate-level GWAR in this masters program."
},
{
"title": "CMPE 297 - Special Topics in Computer/Software Engineering",
"units": "3 unit(s)",
"description": "Special topics to augment regularly-scheduled graduate courses. May be taken up to three times in different topic areas. Course is repeatable for up to 9 units.",
"prereqs": "Instructor consent.",
"coreqs": "No corequisites",
"grading_type": "Letter Graded",
"note": "No additional notes"
},
{
"title": "CS 22A - Python for Everyone",
"units": "3 unit(s)",
"description": "Introduction to Python programming in interesting, relevant, and practical contexts. Programming skills are developed to solve problems in such fields as life sciences, mathematics, and business. Fundamental programming constructs: data structures and algorithms, iterations, and functions. Course is intended for students who have no prior programming experience. Satisfies B4: Mathematics/Quantitative Reasoning.",
"prereqs": "No prerequisites",
"coreqs": "CS 1022AS is required for Math Enrollment Category M-III and M-IV.",
"grading_type": "Letter Graded",
"note": "No additional notes"
},
{
"title": "CS 22B - Python Programming for Data Analysis",
"units": "3 unit(s)",
"description": "Hands-on Python programming skills for data analysis. Skills include finding a solution for a given problem and casting it as an algorithm, translating an algorithm to executable code, and debugging and testing code. Applications focus on computational techniques to understand, analyze, and visualize data.",
"prereqs": "CS 22A with a grade of C- or better, or consent of the instructor; Allowed Majors: Data Science, Biology (all) or Chemistry (all).",
"coreqs": "No corequisites",
"grading_type": "Letter Graded",
"note": "No additional notes"
},
{
"title": "CS 25 - The Digital World and Society",
"units": "3 unit(s)",
"description": "The secure, effective and ethical use of information technology. The effect of such technology on people and institutions. Technology-related challenges to society and policy. Frameworks for the analysis of information technology with respect to its cultural, historical, environmental, and spatial contexts. Satisfies D: Social Sciences (formerly GE Area D1).",
"prereqs": "No prerequisites",
"coreqs": "No corequisites",
"grading_type": "Letter Graded Cross-listed with ENGR 25 . General Engineering is responsible for scheduling.",
"note": "No additional notes"
},
{
"title": "CS 42 - Discrete Mathematics",
"units": "3 unit(s)",
"description": "Sets, logic, methods of proof including mathematical induction, functions, relations, elementary combinatorics, probability, Boolean algebras.",
"prereqs": "Math Enrollment Category M-I or M-II and satisfactory score on the Precalculus Proficiency Assessment; MATH 19 with a grade of B or better to waive the exam; or MATH 18A and MATH 18B , with a grade of B or better in each to waive the exam.",
"coreqs": "No corequisites",
"grading_type": "Letter Graded",
"note": "Students who are repeating MATH 42 and MATH 42X are not eligible for this class and must take MATH 42X . Cross-listed with MATH 42 . Mathematics and Statistics is responsible for scheduling."
},
{
"title": "CS 42X - Discrete Mathematics",
"units": "3 unit(s)",
"description": "Sets, logic, methods of proof including mathematical induction, functions, relations, elementary combinatorics, probability, Boolean algebras.",
"prereqs": "Math Enrollment Category M-I, M-II, M-III and satisfactory score on the Precalculus Proficiency Assessment; MATH 19 with a grade of C- or better to waive the exam; or MATH 18A and MATH 18B with a grade of C- or better in each to waive the exam.",
"coreqs": "MATH 42W .",
"grading_type": "Letter Graded Cross-listed with MATH 42X . Mathematics and Statistics is responsible for scheduling.",
"note": "No additional notes"
},
{
"title": "CS 46A - Introduction to Programming",
"units": "4 unit(s)",
"description": "Introduction to programming for anyone new to the field or who needs a refresher with basic Java programming syntax, object-oriented paradigm, control structures, iteration, etc. Hands-on activities in writing, compiling, executing, and debugging programs for solving real-world problems. Lecture 3 hours/lab 3 hours.",
"prereqs": "Math Enrollment Category M-I, M-II, or M-III, or MATH 1 with a grade of C- or better; and a major of Computer Science, Data Science, Computer Science and Linguistics, Mathematics, Statistics, Applied and Computational Math, Software Engineering, Forensic Science: Digital Evidence, or Undeclared; or instructor consent.",
"coreqs": "No corequisites",
"grading_type": "Letter Graded",
"note": "No additional notes"
},
{
"title": "CS 46AW - Introduction to Programming Workshop",
"units": "1 unit(s)",
"description": "Designed to help all students excel in Introduction to Programming. Students work in groups on challenging problems to help them understand programming concepts more deeply and lay the groundwork for success in future courses. Repeatable for a total of 2 units.",
"prereqs": "CS 46A (in an object-oriented language) or CS 46AX , or current enrollment in CS 46AX .",
"coreqs": "No corequisites",
"grading_type": "Credit/No Credit.",
"note": "No additional notes"
},
{
"title": "CS 46AX - Introduction to Programming",
"units": "4 unit(s)",
"description": "Introduction to programming for anyone new to the field or who needs a refresher with basic Java programming syntax, object-oriented paradigm, control structures, iteration, etc. Hands-on activities in writing, compiling, executing, and debugging programs for solving real-world problems.",
"prereqs": "Math Enrollment Category M-I, M-II, or M-III, or MATH 1 with a grade of C- or better; and a major of Computer Science, Data Science, Computer Science and Linguistics, Mathematics, Statistics, Applied and Computational Math, Software Engineering, Forensic Science: Digital Evidence, or Undeclared; or instructor consent.",
"coreqs": "CS 46AW .",
"grading_type": "Letter Graded.",
"note": "No additional notes"
},
{
"title": "CS 46B - Introduction to Data Structures",
"units": "4 unit(s)",
"description": "Fundamental data structures including lists, stacks, queues, and trees, with algorithms for inserting, deleting, searching, and sorting information within them efficiently. Additional topics include Big-O analysis, exceptions, hashing, Java collections framework, generics, iterators, interfaces, recursion, and debugging. Weekly hands-on activities. Lecture 3 hours/lab 3 hours.",
"prereqs": "CS 46A or CS 46AX (with grade of C- or better). (If CS 46A was not in Java, then CS 46AW also required.) Math Enrollment Category M-I or M-II and satisfactory score on the Precalculus Proficiency Assessment (70 or higher), or MATH 19 with a C- or better, or MATH 18A and MATH 18B with C- or better; Allowed Majors: Computer Science, Data Science, Stats, Applied/Computational Math, Software Engineering or Forensic Science: Digital Evidence.",
"coreqs": "No corequisites",
"grading_type": "Letter Graded",
"note": "No additional notes"
},
{
"title": "CS 47 - Introduction to Computer Systems",
"units": "3 unit(s)",
"description": "Instruction sets, assembly language and assemblers, linkers and loaders, data representation and manipulation, interrupts, pointers, function calls, argument passing, and basic gate-level digital logic design.",
"prereqs": "CS 42 / MATH 42 orCS 42X / MATH 42X , and CS 46B (with a grade of C- or better); Allowed Majors: Computer Science, Data Science or Forensic Science: Digital Evidence.",
"coreqs": "No corequisites",
"grading_type": "Letter Graded",
"note": "No additional notes"
},
{
"title": "CS 48 - Applied Algorithms",
"units": "1 unit(s)",
"description": "Creating and implementing algorithms to solve problems. Techniques covered include using built-in collection classes, bitwise operators, modulo operator, and input/output classes. Emphasis on using data structures learned in CS 46B. Students write a Java program every week.",
"prereqs": "CS 46B and one Java course (with grades of C- or better), or instructor consent.",
"coreqs": "No corequisites",
"grading_type": "Letter Graded.",
"note": "No additional notes"
},