Analysis of Algorithms

Summer 2023 > Computer Related > COMP.4040 > 046

Course No: COMP.4040-046; SIS Class Nbr: 1516; SIS Term: 3240
Course Status: Registration Closed

Course Description

Development of more sophisticated ideas in data type and structure, with an introduction to the connection between data structures and the algorithms they support. Data abstraction. Controlled access structures. Trees, lists, stacks, queues, graphs, arrays, hash tables. Algorithm design strategies such as divide and conquer. Elementary techniques for analysis; asymptotic analysis, recursion equations, estimation methods, elementary combinatorial arguments. Examination of problem areas such as searching and sorting, and the indicated representations and algorithms. The student will use the techniques learned in this course and in previous courses to solve a number of logically complex programming problems using pseudocode, with an emphasis on establishing algorithmic correctness and estimating time and space complexity.

Prerequisites, Notes & Instructor

  • Prerequisites: COMP 1020 Computing II, MATH 3220 Discrete Structures ll and MATH 3860 Probability & Statistics I.
  • Section Notes: Live Online Course; Live Online Course; Attend class remotely during specific days and times (sometimes referred to as synchronous learning). Instructors may deliver lessons from an off-campus location, from a campus classroom, lab or studio, and you¿ll also make use of Blackboard, UMass Lowell¿s online learning management tool.
  • Core Codes: IL, CTPS, STEM, ONLINE SYN, QL
  • Credits: 3; Contact Hours: 3
  • Instructor: Robert Marceau
  • UMass Lowell Bookstore

When Offered & Tuition

  • M,W-Th | 10:30 AM-12:50 PM EDT
  • 2023 Summer: Jul 05 to Aug 14
  • Course Level: Undergraduate
  • Tuition: $1140
    struct
    Detail The monthly plan no longer available.
    ErrorCode [empty string]
    ExtendedInfo [empty string]
    Message Past Plan Availability Date
    StackTrace coldfusion.runtime.CustomException: Past Plan Availability Date at coldfusion.tagext.lang.ThrowTag.doStartTag(ThrowTag.java:139) at coldfusion.runtime.CfJspPage._emptyTag(CfJspPage.java:4319) at cfpayment2dplan2dblock2ecfm763285126$funcGETDIVISORBYTERM.runFunction(D:\inetpub\wwwroot\ContedWeb\includes\payment-plan-block.cfm:50) at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:554) at coldfusion.runtime.UDFMethod$ReturnTypeFilter.invoke(UDFMethod.java:485) at coldfusion.runtime.UDFMethod$ArgumentCollectionFilter.invoke(UDFMethod.java:448) at coldfusion.filter.FunctionAccessFilter.invoke(FunctionAccessFilter.java:95) at coldfusion.runtime.UDFMethod.runFilterChain(UDFMethod.java:399) at coldfusion.runtime.UDFMethod.runFilterChain(UDFMethod.java:372) at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:288) at coldfusion.runtime.CfJspPage._invokeUDF(CfJspPage.java:4175) at coldfusion.runtime.CfJspPage._invokeUDF(CfJspPage.java:4155) at cfpayment2dplan2dblock2ecfm763285126$funcGETMONTLYPAYMENTAMMOUNT.runFunction(D:\inetpub\wwwroot\ContedWeb\includes\payment-plan-block.cfm:54) at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:554) at coldfusion.runtime.UDFMethod$ReturnTypeFilter.invoke(UDFMethod.java:485) at coldfusion.runtime.UDFMethod$ArgumentCollectionFilter.invoke(UDFMethod.java:448) at coldfusion.filter.FunctionAccessFilter.invoke(FunctionAccessFilter.java:95) at coldfusion.runtime.UDFMethod.runFilterChain(UDFMethod.java:399) at coldfusion.runtime.UDFMethod.runFilterChain(UDFMethod.java:372) at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:288) at coldfusion.runtime.CfJspPage._invokeUDF(CfJspPage.java:4175) at coldfusion.runtime.CfJspPage._invokeUDF(CfJspPage.java:4155) at cfpayment2dplan2dblock2ecfm763285126.runPage(D:\inetpub\wwwroot\ContedWeb\includes\payment-plan-block.cfm:61) at coldfusion.runtime.CfJspPage.invoke(CfJspPage.java:262) at coldfusion.tagext.lang.IncludeTag.handlePageInvoke(IncludeTag.java:735) at coldfusion.tagext.lang.IncludeTag.doStartTag(IncludeTag.java:565) at coldfusion.runtime.CfJspPage._emptyTcfTag(CfJspPage.java:4329) at cfCatalogsearch_detail2ecfm4351478._factor5(D:\inetpub\wwwroot\ContedWeb\catalog\search\Catalogsearch_detail.cfm:276) at cfCatalogsearch_detail2ecfm4351478._factor6(D:\inetpub\wwwroot\ContedWeb\catalog\search\Catalogsearch_detail.cfm:194) at cfCatalogsearch_detail2ecfm4351478._factor7(D:\inetpub\wwwroot\ContedWeb\catalog\search\Catalogsearch_detail.cfm:191) at cfCatalogsearch_detail2ecfm4351478.runPage(D:\inetpub\wwwroot\ContedWeb\catalog\search\Catalogsearch_detail.cfm:1) at coldfusion.runtime.CfJspPage.invoke(CfJspPage.java:262) at coldfusion.tagext.lang.IncludeTag.handlePageInvoke(IncludeTag.java:735) at coldfusion.tagext.lang.IncludeTag.doStartTag(IncludeTag.java:565) at coldfusion.runtime.CfJspPage._emptyTcfTag(CfJspPage.java:4329) at cfCurrent_Semsearch_detail2ecfm1097412858._factor4(D:\inetpub\wwwroot\ContedWeb\catalog\search\Current_Semsearch_detail.cfm:308) at cfCurrent_Semsearch_detail2ecfm1097412858.runPage(D:\inetpub\wwwroot\ContedWeb\catalog\search\Current_Semsearch_detail.cfm:1) at coldfusion.runtime.CfJspPage.invoke(CfJspPage.java:262) at coldfusion.tagext.lang.IncludeTag.handlePageInvoke(IncludeTag.java:735) at coldfusion.tagext.lang.IncludeTag.doStartTag(IncludeTag.java:565) at coldfusion.runtime.CfJspPage._emptyTcfTag(CfJspPage.java:4329) at cfapplication2ecfc1757924483$funcONREQUEST.runFunction(D:\inetpub\wwwroot\ContedWeb\application.cfc:45) at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:554) at coldfusion.runtime.UDFMethod$ArgumentCollectionFilter.invoke(UDFMethod.java:448) at coldfusion.filter.FunctionAccessFilter.invoke(FunctionAccessFilter.java:95) at coldfusion.runtime.UDFMethod.runFilterChain(UDFMethod.java:399) at coldfusion.runtime.UDFMethod.runFilterChain(UDFMethod.java:372) at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:288) at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:830) at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:613) at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:438) at coldfusion.runtime.AppEventInvoker.invoke(AppEventInvoker.java:115) at coldfusion.runtime.AppEventInvoker.onRequest(AppEventInvoker.java:308) at coldfusion.filter.ApplicationFilter.invoke(ApplicationFilter.java:551) at coldfusion.filter.RequestMonitorFilter.invoke(RequestMonitorFilter.java:43) at coldfusion.filter.MonitoringFilter.invoke(MonitoringFilter.java:40) at coldfusion.filter.PathFilter.invoke(PathFilter.java:162) at coldfusion.filter.IpFilter.invoke(IpFilter.java:45) at coldfusion.filter.ExceptionFilter.invoke(ExceptionFilter.java:96) at coldfusion.filter.ClientScopePersistenceFilter.invoke(ClientScopePersistenceFilter.java:28) at coldfusion.filter.BrowserFilter.invoke(BrowserFilter.java:38) at coldfusion.filter.NoCacheFilter.invoke(NoCacheFilter.java:60) at coldfusion.filter.GlobalsFilter.invoke(GlobalsFilter.java:38) at coldfusion.filter.DatasourceFilter.invoke(DatasourceFilter.java:22) at coldfusion.filter.CachingFilter.invoke(CachingFilter.java:62) at coldfusion.CfmServlet.service(CfmServlet.java:226) at coldfusion.bootstrap.BootstrapServlet.service(BootstrapServlet.java:311) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) at coldfusion.monitor.event.MonitoringServletFilter.doFilter(MonitoringServletFilter.java:46) at coldfusion.bootstrap.BootstrapFilter.doFilter(BootstrapFilter.java:47) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:377) at org.apache.coyote.ajp.AjpProcessor.service(AjpProcessor.java:463) at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:889) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.base/java.lang.Thread.run(Thread.java:834)
    Suppressed
    array[empty]
    TagContext
    array
    1
    struct
    COLUMN 0
    ID CFTHROW
    LINE 50
    RAW_TRACE at cfpayment2dplan2dblock2ecfm763285126$funcGETDIVISORBYTERM.runFunction(D:\inetpub\wwwroot\ContedWeb\includes\payment-plan-block.cfm:50)
    TEMPLATE D:\inetpub\wwwroot\ContedWeb\includes\payment-plan-block.cfm
    TYPE CFML
    2
    struct
    COLUMN 0
    ID CF_UDFMETHOD
    LINE 54
    RAW_TRACE at cfpayment2dplan2dblock2ecfm763285126$funcGETMONTLYPAYMENTAMMOUNT.runFunction(D:\inetpub\wwwroot\ContedWeb\includes\payment-plan-block.cfm:54)
    TEMPLATE D:\inetpub\wwwroot\ContedWeb\includes\payment-plan-block.cfm
    TYPE CFML
    3
    struct
    COLUMN 0
    ID CF_UDFMETHOD
    LINE 61
    RAW_TRACE at cfpayment2dplan2dblock2ecfm763285126.runPage(D:\inetpub\wwwroot\ContedWeb\includes\payment-plan-block.cfm:61)
    TEMPLATE D:\inetpub\wwwroot\ContedWeb\includes\payment-plan-block.cfm
    TYPE CFML
    4
    struct
    COLUMN 0
    ID CFINCLUDE
    LINE 276
    RAW_TRACE at cfCatalogsearch_detail2ecfm4351478._factor5(D:\inetpub\wwwroot\ContedWeb\catalog\search\Catalogsearch_detail.cfm:276)
    TEMPLATE D:\inetpub\wwwroot\ContedWeb\catalog\search\Catalogsearch_detail.cfm
    TYPE CFML
    5
    struct
    COLUMN 0
    ID CF_CATALOGSEARCH_DETAIL
    LINE 194
    RAW_TRACE at cfCatalogsearch_detail2ecfm4351478._factor6(D:\inetpub\wwwroot\ContedWeb\catalog\search\Catalogsearch_detail.cfm:194)
    TEMPLATE D:\inetpub\wwwroot\ContedWeb\catalog\search\Catalogsearch_detail.cfm
    TYPE CFML
    6
    struct
    COLUMN 0
    ID CF_CATALOGSEARCH_DETAIL
    LINE 191
    RAW_TRACE at cfCatalogsearch_detail2ecfm4351478._factor7(D:\inetpub\wwwroot\ContedWeb\catalog\search\Catalogsearch_detail.cfm:191)
    TEMPLATE D:\inetpub\wwwroot\ContedWeb\catalog\search\Catalogsearch_detail.cfm
    TYPE CFML
    7
    struct
    COLUMN 0
    ID CF_CATALOGSEARCH_DETAIL
    LINE 1
    RAW_TRACE at cfCatalogsearch_detail2ecfm4351478.runPage(D:\inetpub\wwwroot\ContedWeb\catalog\search\Catalogsearch_detail.cfm:1)
    TEMPLATE D:\inetpub\wwwroot\ContedWeb\catalog\search\Catalogsearch_detail.cfm
    TYPE CFML
    8
    struct
    COLUMN 0
    ID CFINCLUDE
    LINE 308
    RAW_TRACE at cfCurrent_Semsearch_detail2ecfm1097412858._factor4(D:\inetpub\wwwroot\ContedWeb\catalog\search\Current_Semsearch_detail.cfm:308)
    TEMPLATE D:\inetpub\wwwroot\ContedWeb\catalog\search\Current_Semsearch_detail.cfm
    TYPE CFML
    9
    struct
    COLUMN 0
    ID CF_CURRENT_SEMSEARCH_DETAIL
    LINE 1
    RAW_TRACE at cfCurrent_Semsearch_detail2ecfm1097412858.runPage(D:\inetpub\wwwroot\ContedWeb\catalog\search\Current_Semsearch_detail.cfm:1)
    TEMPLATE D:\inetpub\wwwroot\ContedWeb\catalog\search\Current_Semsearch_detail.cfm
    TYPE CFML
    10
    struct
    COLUMN 0
    ID CFINCLUDE
    LINE 45
    RAW_TRACE at cfapplication2ecfc1757924483$funcONREQUEST.runFunction(D:\inetpub\wwwroot\ContedWeb\application.cfc:45)
    TEMPLATE D:\inetpub\wwwroot\ContedWeb\application.cfc
    TYPE CFML
    Type DateBeyondRange
    code [empty string]
  • Note: There is a $30 per semester registration fee for credit courses.

Friday Class Meetings for Live Online and On-Campus Courses

Unless otherwise noted above

  • Summer Start I M/W classes begin on Monday May 15 and include 3 FRIDAYS: May 19, June 2 and June 16 at the regularly scheduled hours.
  • Summer Start I T/Th classes begin on Tuesday, May 16 and include 2 FRIDAYS: May 26 and June 9 at the regularly scheduled hours.
  • Summer Start II M/W classes begin on Wednesday, July 5 and include 2 FRIDAYS: July 7 and July 21 at the regularly scheduled hours.
  • Summer Start II T/Th classes begin on Tuesday, July 6 and include 3 FRIDAYS: July 14, July 28 and August 4 at the regularly scheduled hours.

Every effort has been made to ensure the accuracy of the information presented in this catalog. However, the Division of Graduate, Online & Professional Studies reserves the right to implement new rules and regulations and to make changes of any nature to its program, calendar, procedures, standards, degree requirements, academic schedules (including, without limitations, changes in course content and class schedules), locations, tuition and fees. Whenever possible, appropriate notice of such changes will be given before they become effective.

Course Registration Closed

The registration period for this course has ended.

Check availability for the current semester